Monero
Loading...
Searching...
No Matches
epee::levin::message_writer Class Reference

Provides space for levin (p2p) header, so that payload can be sent without copy. More...

#include <levin_base.h>

Collaboration diagram for epee::levin::message_writer:

Public Types

using header = bucket_head2

Public Member Functions

 message_writer (std::size_t reserve=8192)
 message_writer (const message_writer &)=delete
 message_writer (message_writer &&)=default
 ~message_writer ()=default
message_writeroperator= (const message_writer &)=delete
message_writeroperator= (message_writer &&)=default
std::size_t payload_size () const noexcept
byte_slice finalize_invoke (uint32_t command)
byte_slice finalize_notify (uint32_t command)
byte_slice finalize_response (uint32_t command, uint32_t return_code)

Public Attributes

byte_stream buffer
 Has space for levin header until a finalize method is used.

Private Member Functions

byte_slice finalize (uint32_t command, uint32_t flags, uint32_t return_code, bool expect_response)

Detailed Description

Provides space for levin (p2p) header, so that payload can be sent without copy.

Member Typedef Documentation

◆ header

Constructor & Destructor Documentation

◆ message_writer() [1/3]

epee::levin::message_writer::message_writer ( std::size_t reserve = 8192)
explicit

◆ message_writer() [2/3]

epee::levin::message_writer::message_writer ( const message_writer & )
delete

◆ message_writer() [3/3]

epee::levin::message_writer::message_writer ( message_writer && )
default

◆ ~message_writer()

epee::levin::message_writer::~message_writer ( )
default

Member Function Documentation

◆ finalize()

byte_slice epee::levin::message_writer::finalize ( uint32_t command,
uint32_t flags,
uint32_t return_code,
bool expect_response )
private

◆ finalize_invoke()

byte_slice epee::levin::message_writer::finalize_invoke ( uint32_t command)
inline

◆ finalize_notify()

byte_slice epee::levin::message_writer::finalize_notify ( uint32_t command)
inline

◆ finalize_response()

byte_slice epee::levin::message_writer::finalize_response ( uint32_t command,
uint32_t return_code )
inline

◆ operator=() [1/2]

message_writer & epee::levin::message_writer::operator= ( const message_writer & )
delete

◆ operator=() [2/2]

message_writer & epee::levin::message_writer::operator= ( message_writer && )
default

◆ payload_size()

std::size_t epee::levin::message_writer::payload_size ( ) const
inlinenoexcept
Returns
Size of payload (excludes header size).

Member Data Documentation

◆ buffer

byte_stream epee::levin::message_writer::buffer

Has space for levin header until a finalize method is used.


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