cpp-msgpack-rpc 0.2.0
An RPC library implementing MessagePack RPC.
Loading...
Searching...
No Matches
msgpack_rpc::messages::MessageParser Class Reference

Class to parse messages. More...

#include <msgpack_rpc/messages/message_parser.h>

Collaboration diagram for msgpack_rpc::messages::MessageParser:

Public Member Functions

 MessageParser (const config::MessageParserConfig &config)
 Constructor.
 MessageParser (const MessageParser &)=delete
 MessageParser (MessageParser &&)=delete
 ~MessageParser ()
 Destructor.
void consumed (std::size_t num_bytes)
 Set some bytes to be consumed.
MessageParseroperator= (const MessageParser &)=delete
MessageParseroperator= (MessageParser &&)=delete
BufferView prepare_buffer ()
 Prepare a buffer.
std::optional< ParsedMessagetry_parse ()
 Try to parse a message and return it if parsed, throw an exception if the message data is invalid.

Private Attributes

msgpack::unpacker parser_
 Parser.
std::size_t read_buffer_size_
 Buffer size to read at once.

Detailed Description

Class to parse messages.

Definition at line 37 of file message_parser.h.

Constructor & Destructor Documentation

◆ MessageParser()

msgpack_rpc::messages::MessageParser::MessageParser ( const config::MessageParserConfig & config)
explicit

Constructor.

Parameters
[in]configConfiguration.

Definition at line 31 of file message_parser.cpp.

Member Function Documentation

◆ consumed()

void msgpack_rpc::messages::MessageParser::consumed ( std::size_t num_bytes)

Set some bytes to be consumed.

Parameters
[in]num_bytesNumber of consumed bytes.

Definition at line 41 of file message_parser.cpp.

◆ prepare_buffer()

BufferView msgpack_rpc::messages::MessageParser::prepare_buffer ( )

Prepare a buffer.

Returns
Buffer.

Definition at line 36 of file message_parser.cpp.

◆ try_parse()

std::optional< ParsedMessage > msgpack_rpc::messages::MessageParser::try_parse ( )
nodiscard

Try to parse a message and return it if parsed, throw an exception if the message data is invalid.

Returns
Message if parsed. Null if more data is required.

Definition at line 45 of file message_parser.cpp.

Member Data Documentation

◆ parser_

msgpack::unpacker msgpack_rpc::messages::MessageParser::parser_
private

Parser.

Definition at line 80 of file message_parser.h.

◆ read_buffer_size_

std::size_t msgpack_rpc::messages::MessageParser::read_buffer_size_
private

Buffer size to read at once.

Definition at line 83 of file message_parser.h.


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