Flow 1.0.1
Flow project: Public API.
Namespaces | Typedefs | Enumerations | Functions | Variables
net_flow_fwd.hpp File Reference

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.
 
namespace  flow::net_flow::asio
 Contains classes that add boost.asio integration to the main Flow-protocol classes such as net_flow::Node and net_flow::Peer_socket, so that net_flow sockets can be easily used in boost.asio-driven event loops, e.g., ones also performing TCP networking and scheduling timers.
 

Typedefs

using flow::net_flow::flow_port_t = uint16_t
 Logical Flow port type (analogous to a UDP/TCP port in spirit but in no way relevant to UDP/TCP).
 

Enumerations

enum class  flow::net_flow::Xfer_op_result { flow::net_flow::S_FULLY_XFERRED , flow::net_flow::S_PARTIALLY_XFERRED , flow::net_flow::S_ERROR }
 Result of a send or receive operation, used at least in stat reporting. More...
 

Functions

std::ostream & flow::net_flow::operator<< (std::ostream &os, const Peer_socket *sock)
 Prints string representation of given socket to given standard ostream and returns the latter. More...
 
std::ostream & flow::net_flow::operator<< (std::ostream &os, const Server_socket *serv)
 Prints string representation of given socket to given standard ostream and returns the latter. More...
 
std::ostream & flow::net_flow::operator<< (std::ostream &os, const Peer_socket_receive_stats &stats)
 Prints string representation of the stats in the given stats object to the standard ostream and returns the latter. More...
 
std::ostream & flow::net_flow::operator<< (std::ostream &os, const Peer_socket_send_stats &stats)
 Prints string representation of the stats in the given stats object to the standard ostream and returns the latter. More...
 
std::ostream & flow::net_flow::operator<< (std::ostream &os, const Peer_socket_info &stats)
 Prints string representation of the stats in the given stats object to the standard ostream and returns the latter. More...
 
std::ostream & flow::net_flow::operator<< (std::ostream &os, const Node_options &opts)
 Prints the name of each option in the given Node_options, along with its current value, to the given ostream. More...
 
std::ostream & flow::net_flow::operator<< (std::ostream &os, const Peer_socket_options &opts)
 Prints the name of each option in the given Peer_socket_options, along with its current value, to the given ostream. More...
 
std::ostream & flow::net_flow::operator<< (std::ostream &os, const Remote_endpoint &endpoint)
 Prints string representation of the given Remote_endpoint to the given ostream. More...
 
bool flow::net_flow::operator== (const Remote_endpoint &lhs, const Remote_endpoint &rhs)
 Whether lhs is equal to rhs. More...
 
size_t flow::net_flow::hash_value (const Remote_endpoint &remote_endpoint)
 Free function that returns remote_endpoint.hash(); has to be a free function named hash_value for boost.hash to pick it up. More...
 
std::ostream & flow::net_flow::asio::operator<< (std::ostream &os, const Peer_socket *sock)
 Prints string representation of given socket to given standard ostream and returns the latter. More...
 
std::ostream & flow::net_flow::asio::operator<< (std::ostream &os, const Server_socket *serv)
 Prints string representation of given socket to given standard ostream and returns the latter. More...
 

Variables

const flow_port_t flow::net_flow::S_PORT_ANY
 Special Flow port value used to indicate "invalid port" or "please pick a random available ephemeral port," depending on the context. More...