libcaf  0.14.4
Classes | Typedefs | Enumerations | Functions | Variables
caf::io::basp Namespace Reference

Contains all classes and functions for the Binary Actor Sytem Protocol. More...

Classes

struct  header
 The header of a Binary Actor System Protocol (BASP) message. More...
 
class  instance
 Describes a protocol instance managing multiple connections. More...
 
class  routing_table
 Stores routing information for a single broker participating as BASP peer and provides both direct and indirect paths. More...
 

Typedefs

using buffer_type = std::vector< char >
 Storage type for raw bytes.
 

Enumerations

enum  message_type : uint32_t {
  message_type::server_handshake = 0x00,
  message_type::client_handshake = 0x01,
  message_type::dispatch_message = 0x02,
  message_type::announce_proxy_instance = 0x03,
  message_type::kill_proxy_instance = 0x04
}
 Describes the first header field of a BASP message and determines the interpretation of the other header fields. More...
 
enum  error : uint64_t {
  error::no_route_to_destination = 0x01,
  error::loop_detected = 0x02
}
 Describes an error during forwarding of BASP messages. More...
 
enum  connection_state {
  await_header,
  await_payload,
  close_connection
}
 Denotes the state of a connection between to BASP nodes. More...
 

Functions

void read_hdr (serializer &sink, header &hdr)
 Deserialize a BASP message header from source.
 
void write_hdr (deserializer &source, const header &hdr)
 Serialize a BASP message header to sink.
 
bool is_handshake (const header &hdr)
 Checks whether given header contains a handshake.
 

Variables

constexpr uint64_t version = 1
 The current BASP version. More...
 
constexpr size_t header_size
 Size of a BASP header in serialized form. More...
 

Detailed Description

Contains all classes and functions for the Binary Actor Sytem Protocol.