V2Transport

Transport implementation for the encrypted BIP324 (v2) P2P protocol, with automatic fallback to v1 when the peer does not speak v2.

Synopsis

Declared in <net.h>

class V2Transport final
    : public Transport

Base Classes

NameDescription
TransportThe Transport converts one connection's sent messages to wire bytes, and received bytes back.

Types

NameDescription
Info Summary information about a transport, exposed for stats.

Type Aliases

NameDescription
BytesToSend Return type for GetBytesToSend, consisting of: - std::span<const uint8_t> to_send: span of bytes to be sent over the wire (possibly empty). - bool more: whether there will be more bytes to be sent after the ones in to_send are all sent (as signaled by MarkBytesSent()). - const std::string& m_type: message type on behalf of which this is being sent ("" for bytes that are not on behalf of any message).

Member Functions

NameDescription
V2Transport [constructor]Constructors
GetBytesToSend [virtual]Return the bytes currently pending to be sent on the wire.
GetInfo [virtual]Return the transport info, including the BIP324 session id.
GetReceivedMessage [virtual]Retrieve a completed received message, stamping it with the given time.
GetSendMemoryUsage [virtual]Return the memory used by buffered send data.
MarkBytesSent [virtual]Report how many pending bytes were actually sent.
ReceivedBytes [virtual]Feed received wire bytes to the transport, consuming them from the front.
ReceivedMessageComplete [virtual]Return whether a full message has been received and can be retrieved.
SetMessageToSend [virtual]Set the next message to send, returning whether it was accepted.
ShouldReconnectV1 [virtual]Whether a v1 reconnect is warranted after this v2 connection failed.

Static Data Members

NameDescription
MAX_GARBAGE_LEN Maximum length of the garbage bytes sent before the garbage terminator.