/// Receive an event from the underlying comms connection. /// @param event the type of event. /// @param weak_ptr a weak ponter to the underlying comms connection. void event_handler(int event, typename connection_type::weak_pointer weak_ptr) { // Use the raw pointer of the connection as the map key. void* pointer(weak_ptr.lock().get()); if (!pointer) return; switch(event) { case via::comms::CONNECTED: timer_.cancel(); rx_buffer_.clear(); rx_.clear(); if (connected_handler_) connected_handler_(); break; case via::comms::RECEIVED: receive_handler(); break; case via::comms::SENT: if (message_sent_handler_) message_sent_handler_(); break; case via::comms::DISCONNECTED: disconnected_handler(); break; default: break; } }
/** Calls client disconnected handler. */ void unicomm::session_base::signal_disconnected(const disconnected_params& params) { disconnected_handler(params); }