Monero
Public Types | Public Member Functions | Public Attributes | Private Member Functions | List of all members
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:
Collaboration graph
[legend]

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. More...
 

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: