Serialization of a set of buffers to be sent over a TCP socket as a single message. More...
#include <Message.h>
Public Member Functions | |
bool | empty () const noexcept |
auto | GetBufferSequence () const |
template<typename... Buffers> | |
MessageTmpl (SharedBufferView buf, Buffers... buffers) | |
auto | size () const noexcept |
Size in bytes of the message excluding the header. More... | |
Static Public Member Functions | |
static constexpr size_t | max_size () |
Private Member Functions | |
MessageTmpl (size_t) | |
template<typename... Buffers> | |
MessageTmpl (size_t size, SharedBufferView buffer, Buffers... buffers) | |
Private Member Functions inherited from carla::NonCopyable | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
NonCopyable (NonCopyable &&)=delete | |
NonCopyable & | operator= (const NonCopyable &)=delete |
NonCopyable & | operator= (NonCopyable &&)=delete |
Private Attributes | |
std::array< boost::asio::const_buffer, MaxNumberOfBuffers+1u > | _buffer_views |
std::array< SharedBufferView, MaxNumberOfBuffers > | _buffers |
message_size_type | _number_of_buffers = 0u |
message_size_type | _total_size = 0u |
Serialization of a set of buffers to be sent over a TCP socket as a single message.
Template paramenter MaxNumberOfBuffers imposes a compile-time limit on the maximum number of buffers that can be included in a single message.
|
inlineprivate |
|
inlineprivate |
Definition at line 48 of file Message.h.
References carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::_buffer_views, carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::_buffers, carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::_number_of_buffers, and carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::_total_size.
|
inline |
Definition at line 59 of file Message.h.
References carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::_buffer_views, carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::_total_size, and carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::max_size().
|
inlinenoexcept |
Definition at line 70 of file Message.h.
References carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::size().
|
inline |
Definition at line 74 of file Message.h.
References carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::_buffer_views, carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::_number_of_buffers, and carla::MakeListView().
|
inlinestatic |
Definition at line 39 of file Message.h.
Referenced by carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::MessageTmpl().
|
inlinenoexcept |
Size in bytes of the message excluding the header.
Definition at line 66 of file Message.h.
References carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::_total_size.
Referenced by carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::empty().
|
private |
Definition at line 87 of file Message.h.
Referenced by carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::GetBufferSequence(), and carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::MessageTmpl().
|
private |
Definition at line 85 of file Message.h.
Referenced by carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::MessageTmpl().
|
private |
Definition at line 81 of file Message.h.
Referenced by carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::GetBufferSequence(), and carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::MessageTmpl().
|
private |
Definition at line 83 of file Message.h.
Referenced by carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::MessageTmpl(), and carla::streaming::detail::tcp::MessageTmpl< MaxNumberOfBuffers >::size().