Virtual base class for the data type used to define transport configuration. It acts as a builder for a given transport meaning that it allows to configure the transport, and then a new Transport can be built according to this configuration using its create_transport() factory member function.
maxMessageSize: maximum size of a single message in the transport.
maxInitialPeersRange: number of channels opened with each initial remote peer.
inline TransportDescriptorInterface(uint32_t maximumMessageSize, uint32_t maximumInitialPeersRange)¶
TransportDescriptorInterface &operator=(const TransportDescriptorInterface &t) = default¶
virtual ~TransportDescriptorInterface() = default¶
virtual TransportInterface *create_transport() const = 0¶
Factory method pattern. It will create and return a TransportInterface corresponding to this descriptor. This provides an interface to the NetworkFactory to create the transports without the need to know about their type
virtual uint32_t min_send_buffer_size() const = 0¶
Returns the minimum size required for a send operation.
inline virtual uint32_t max_message_size() const¶
Returns the maximum size expected for received messages.
inline virtual uint32_t max_initial_peers_range() const¶
Returns the maximum number of opened channels for each initial remote peer (maximum number of guessed initial peers to try to connect)