Flow 1.0.0
Flow project: Full implementation reference.
Classes | Namespaces
low_lvl_packet.hpp File Reference
#include "flow/net_flow/detail/net_flow_fwd.hpp"
#include "flow/net_flow/detail/seq_num.hpp"
#include "flow/net_flow/net_flow_fwd.hpp"
#include "flow/log/log.hpp"
#include "flow/util/util.hpp"
#include "flow/util/shared_ptr_alias_holder.hpp"
#include "flow/util/blob.hpp"
#include <boost/endian.hpp>
#include <limits>

Go to the source code of this file.

Classes

struct  flow::net_flow::Low_lvl_packet
 Internal net_flow struct that encapsulates the Flow-protocol low-level packet structure and serves as the super-type for all specific packet types, represented by derived structs like Ack_packet, Rst_packet, etc. More...
 
struct  flow::net_flow::Low_lvl_packet::Aux_raw_data
 Helper data store type for storing binary data needed by serialize_to_raw_data(), when certains bits are not already represented by the public data members present in struct Low_lvl_packet. More...
 
struct  flow::net_flow::Low_lvl_packet::Packet_type_info
 A simple, unmodifiable data store that contains the properties unique to each packet type a/k/a concrete sub-type of Low_lvl_packet. More...
 
struct  flow::net_flow::Syn_packet
 Internal net_flow struct that encapsulates the Flow-protocol low-level SYN packet. More...
 
struct  flow::net_flow::Syn_ack_packet
 Internal net_flow struct that encapsulates the Flow-protocol low-level SYN_ACK packet. More...
 
struct  flow::net_flow::Syn_ack_ack_packet
 Internal net_flow struct that encapsulates the Flow-protocol low-level SYN_ACK_ACK packet. More...
 
struct  flow::net_flow::Data_packet
 Internal net_flow struct that encapsulates the Flow-protocol low-level DATA packet. More...
 
struct  flow::net_flow::Ack_packet
 Internal net_flow struct that encapsulates the Flow-protocol low-level ACK packet. More...
 
struct  flow::net_flow::Ack_packet::Individual_ack
 Specifies the incoming (post-deserialization) acknowledgment of a single received Data_packet. More...
 
struct  flow::net_flow::Ack_packet::Individual_ack_rexmit_off
 Specifies the outgoing (pre-serialization) acknowledgment of a single received Data_packet, when retranmission is disabled on the socket. More...
 
struct  flow::net_flow::Ack_packet::Individual_ack_rexmit_on
 Equivalent of Individual_ack_rexmit_off but for sockets with retransmission enabled. More...
 
struct  flow::net_flow::Rst_packet
 Internal net_flow struct that encapsulates the Flow-protocol low-level RST packet. More...
 

Namespaces

namespace  flow
 Catch-all namespace for the Flow project: A collection of various production-quality modules written in modern C++17, originally by ygoldfel.
 
namespace  flow::net_flow
 Flow module containing the API and implementation of the Flow network protocol, a TCP-inspired stream protocol that uses UDP as underlying transport.