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

Class of queues of messages to be sent. More...

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

Collaboration diagram for msgpack_rpc::clients::impl::SentMessageQueue:

Public Member Functions

 SentMessageQueue ()=default
 Constructor.
std::tuple< std::optional< messages::SerializedMessage >, std::optional< messages::MessageID > > next ()
 Get the next message.
void pop ()
 Pop a message.
void push (messages::SerializedMessage message, std::optional< messages::MessageID > id=std::nullopt)
 Push a message.

Private Attributes

std::mutex mutex_ {}
 Mutex.
std::queue< std::tuple< messages::SerializedMessage, std::optional< messages::MessageID > > > queue_ {}
 Queue.

Detailed Description

Class of queues of messages to be sent.

Definition at line 36 of file sent_message_queue.h.

Member Function Documentation

◆ next()

std::tuple< std::optional< messages::SerializedMessage >, std::optional< messages::MessageID > > msgpack_rpc::clients::impl::SentMessageQueue::next ( )
inlinenodiscard

Get the next message.

Returns
Next message and its message ID if exists.

Definition at line 48 of file sent_message_queue.h.

◆ pop()

void msgpack_rpc::clients::impl::SentMessageQueue::pop ( )
inline

Pop a message.

Definition at line 59 of file sent_message_queue.h.

◆ push()

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

Push a message.

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

Definition at line 70 of file sent_message_queue.h.

Member Data Documentation

◆ mutex_

std::mutex msgpack_rpc::clients::impl::SentMessageQueue::mutex_ {}
private

Mutex.

Definition at line 83 of file sent_message_queue.h.

◆ queue_

std::queue<std::tuple<messages::SerializedMessage, std::optional<messages::MessageID> > > msgpack_rpc::clients::impl::SentMessageQueue::queue_ {}
private

Queue.

Definition at line 80 of file sent_message_queue.h.


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