Core Library  1.7.0.0
Library containing core utilities and tools for threading, networking, logging, INI and CSV file management etc.
core_lib::asio::defs Namespace Reference

The asio_defs namespace. More...

Classes

struct  MessageHeader
 Default message header structure that is also POD. More...
 
struct  ReceivedMessage
 Template class to act as a generic wrapper around a received message for a given header type. More...
 

Typedefs

using connection_t = std::pair< std::string, uint16_t >
 Typedef describing a network connection as (address, port).
 
using tcp_conn_ptr_t = std::shared_ptr< tcp::TcpConnection >
 Typedef describing shared_ptr to a TcpConnection object.
 
using char_buffer_t = std::vector< char >
 Typedef to generic char buffer based on s std::vector<char>.
 
using default_received_message_t = ReceivedMessage< MessageHeader >
 Typedef to default version of received message typed to default message header struct.
 
using default_received_message_ptr_t = std::shared_ptr< default_received_message_t >
 Typedef to default version of received message shared pointer.
 
using default_message_dispatcher_t = std::function< void(default_received_message_ptr_t)>
 Typedef to default message dispatcher function object.
 
using check_bytes_left_to_read_t = std::function< size_t(const char_buffer_t &)>
 Typedef to bytes left to reading checking utility function object.
 
using message_received_handler_t = std::function< void(const char_buffer_t &)>
 Typedef to message received handler function object.
 

Enumerations

enum  eRespAddressLen : uint32_t { RESPONSE_ADDRESS_LEN = 16 }
 Constant defining response IP address length in bytes.
 
enum  eMagicStringLen : uint32_t { MAGIC_STRING_LEN = 16 }
 Constant defining message header magic string length in bytes.
 
enum  eArchiveType : uint8_t {
  eArchiveType::portableBinary, eArchiveType::binary, eArchiveType::json, eArchiveType::xml,
  eArchiveType::raw, eArchiveType::protobuf
}
 Message serialization archive type enumeration. More...
 
enum  eMessageHeaderLen : size_t { MESSAGE_HEADER_LEN = sizeof(MessageHeader) }
 Constant defining message header magic string length in bytes.
 

Functions

const connection_t NULL_CONNECTION ("0.0.0.0", 0)
 

Variables

const connection_t NULL_CONNECTION
 Constant defining a null network connection as ("0.0.0.0", 0).
 
const char DEFAULT_MAGIC_STRING [] {"_BEGIN_MESSAGE_"}
 Constant defining default magc string as "_BEGIN_MESSAGE_".
 

Detailed Description

The asio_defs namespace.

Enumeration Type Documentation

◆ eArchiveType

enum core_lib::asio::defs::eArchiveType : uint8_t
strong

Message serialization archive type enumeration.

Enumerator
portableBinary 

Portable binary archive, requires Cereal serialization.

binary 

Binary archive, requires Cereal serialization.

json 

JSON archive, requires Cereal serialization.

xml 

XML archive, requires Cereal serialization.

raw 

Raw data, only for POD objects.

protobuf 

Google protocol buffer.