cpp-msgpack-rpc 0.2.0
An RPC library implementing MessagePack RPC.
Loading...
Searching...
No Matches
msgpack_rpc::clients::impl::MessageSender Class Reference

Class to send messages in clients. More...

#include <msgpack_rpc/clients/impl/message_sender.h>

Collaboration diagram for msgpack_rpc::clients::impl::MessageSender:

Public Member Functions

 MessageSender (std::weak_ptr< ClientConnector > connector, std::shared_ptr< logging::Logger > logger)
 Constructor.
void handle_disconnection ()
 Handle disconnection.
void handle_sent_message ()
 Handle a sent message.
void send (messages::SerializedMessage message, std::optional< messages::MessageID > id=std::nullopt)
 Send a message.
void send_next ()
 Send the next message if possible.

Private Member Functions

std::shared_ptr< transport::IConnectionget_connection ()
 Get the connection.

Private Attributes

std::weak_ptr< ClientConnectorconnector_
 Connector.
std::atomic< bool > is_sending_ {false}
 Whether this client is sending a message.
std::shared_ptr< logging::Loggerlogger_
 Logger.
SentMessageQueue sent_messages_ {}
 Queue of messages to be sent.

Detailed Description

Class to send messages in clients.

Definition at line 39 of file message_sender.h.

Constructor & Destructor Documentation

◆ MessageSender()

msgpack_rpc::clients::impl::MessageSender::MessageSender ( std::weak_ptr< ClientConnector > connector,
std::shared_ptr< logging::Logger > logger )
inline

Constructor.

Parameters
[in]connectorConnector.
[in]loggerLogger.

Definition at line 47 of file message_sender.h.

Member Function Documentation

◆ get_connection()

std::shared_ptr< transport::IConnection > msgpack_rpc::clients::impl::MessageSender::get_connection ( )
inlinenodiscardprivate

Get the connection.

Returns
Connection if exists.

Definition at line 114 of file message_sender.h.

◆ handle_disconnection()

void msgpack_rpc::clients::impl::MessageSender::handle_disconnection ( )
inline

Handle disconnection.

Definition at line 103 of file message_sender.h.

◆ handle_sent_message()

void msgpack_rpc::clients::impl::MessageSender::handle_sent_message ( )
inline

Handle a sent message.

Definition at line 94 of file message_sender.h.

◆ send()

void msgpack_rpc::clients::impl::MessageSender::send ( messages::SerializedMessage message,
std::optional< messages::MessageID > id = std::nullopt )
inline

Send a message.

Parameters
[in]messageMessage.
[in]idMessage ID (for requests).

Definition at line 57 of file message_sender.h.

◆ send_next()

void msgpack_rpc::clients::impl::MessageSender::send_next ( )
inline

Send the next message if possible.

Definition at line 66 of file message_sender.h.

Member Data Documentation

◆ connector_

std::weak_ptr<ClientConnector> msgpack_rpc::clients::impl::MessageSender::connector_
private

Connector.

Definition at line 123 of file message_sender.h.

◆ is_sending_

std::atomic<bool> msgpack_rpc::clients::impl::MessageSender::is_sending_ {false}
private

Whether this client is sending a message.

Definition at line 132 of file message_sender.h.

◆ logger_

std::shared_ptr<logging::Logger> msgpack_rpc::clients::impl::MessageSender::logger_
private

Logger.

Definition at line 126 of file message_sender.h.

◆ sent_messages_

SentMessageQueue msgpack_rpc::clients::impl::MessageSender::sent_messages_ {}
private

Queue of messages to be sent.

Definition at line 129 of file message_sender.h.


The documentation for this class was generated from the following file: