|
cpp-msgpack-rpc 0.2.0
An RPC library implementing MessagePack RPC.
|
Class to handle connections in servers. More...
#include <msgpack_rpc/servers/server_connection.h>
Public Member Functions | |
| ServerConnection (const std::shared_ptr< transport::IConnection > &connection, std::weak_ptr< executors::IExecutor > executor, std::shared_ptr< methods::IMethodProcessor > processor, std::shared_ptr< logging::Logger > logger) | |
| Constructor. | |
| void | start () |
| Start processing. | |
Private Member Functions | |
| void | on_invalid_message () |
| Handle an invalid message. | |
| void | on_notification (const messages::ParsedNotification ¬ification) |
| Process a notification. | |
| void | on_received (messages::ParsedMessage message) |
| Process a received message. | |
| void | on_request (const messages::ParsedRequest &request) |
| Process a request. | |
| void | on_sent () |
| Handle the condition that a message is sent. | |
| void | send_next_if_exists () |
| Send the next message if exists. | |
Private Attributes | |
| std::weak_ptr< transport::IConnection > | connection_ |
| Connection. | |
| std::weak_ptr< executors::IExecutor > | executor_ |
| Executor. | |
| std::string | formatted_remote_address_ |
| Formatted remote address for logging. | |
| std::atomic< bool > | is_sending_ {false} |
| Whether this connection is sending a message. | |
| std::shared_ptr< logging::Logger > | logger_ |
| Logger. | |
| std::queue< messages::SerializedMessage > | message_queue_ {} |
| Messages to be sent. | |
| std::mutex | message_queue_mutex_ {} |
| Mutex of message_queue_. | |
| std::shared_ptr< methods::IMethodProcessor > | processor_ |
| Processor of methods. | |
Class to handle connections in servers.
Definition at line 51 of file server_connection.h.
|
inline |
Constructor.
| [in] | connection | Connection. |
| [in] | executor | Executor. |
| [in] | processor | Processor of methods. |
| [in] | logger | Logger. |
Definition at line 61 of file server_connection.h.
|
inlineprivate |
Handle an invalid message.
Definition at line 165 of file server_connection.h.
|
inlineprivate |
Process a notification.
| [in] | notification | Notification. |
Definition at line 155 of file server_connection.h.
|
inlineprivate |
Process a received message.
| [in] | message | Message. |
Definition at line 95 of file server_connection.h.
|
inlineprivate |
Process a request.
| [in] | request | Request. |
Definition at line 133 of file server_connection.h.
|
inlineprivate |
Handle the condition that a message is sent.
Definition at line 204 of file server_connection.h.
|
inlineprivate |
Send the next message if exists.
Definition at line 179 of file server_connection.h.
|
inline |
Start processing.
Definition at line 74 of file server_connection.h.
|
private |
Connection.
Definition at line 211 of file server_connection.h.
|
private |
Executor.
Definition at line 214 of file server_connection.h.
|
private |
Formatted remote address for logging.
Definition at line 223 of file server_connection.h.
|
private |
Whether this connection is sending a message.
Definition at line 232 of file server_connection.h.
|
private |
Logger.
Definition at line 220 of file server_connection.h.
|
private |
Messages to be sent.
Definition at line 226 of file server_connection.h.
|
private |
Mutex of message_queue_.
Definition at line 229 of file server_connection.h.
|
private |
Processor of methods.
Definition at line 217 of file server_connection.h.