Transport
TCP transport: connections, acceptors, connectors, and protocol framing.
ua::connection_protocol::Limits
struct
User-facing configuration limits offered during the Hello/ACK handshake.
These are the local side's proposed limits before negotiation. A single maxBufferSize is used symmetrically for both the send and receive buffer in the Hello/ACK exchange. All sizes are in bytes except maxChunkCount, which is a count.
Functions
bool operator==(const Limits &) const =default
Compares two limit sets field by field.
Returns: true when all fields are equal; false otherwise.
Public attributes
uint32_t maxBufferSize
Proposed send/receive buffer size, in bytes.
uint32_t maxMessageSize
Maximum assembled message size, in bytes.
uint32_t maxChunkCount
Maximum number of chunks per message.
Static attributes
constexpr uint32_t defaultBufferSize
Default send/receive buffer size, in bytes.
constexpr uint32_t defaultMaxMessageSize
Default maximum message size, in bytes.
constexpr uint32_t defaultMaxChunkCount
Default maximum number of chunks per message.
ua::connection_protocol::NegotiatedLimits
struct
Effective limits agreed by the Hello/ACK exchange and reported to the SecureChannel layer.
Unlike Limits, the values here are directional: they distinguish the constraints that apply to outgoing traffic from those that apply to incoming traffic, as resolved from the local proposal and the peer's reply. Size fields are in bytes; chunk-count fields are counts. A value of 0 in a maximum field means "no limit".
Functions
bool operator==(const NegotiatedLimits &) const =default
Compares two negotiated limit sets field by field.
Returns: true when all fields are equal; false otherwise.
Public attributes
uint32_t sendBufferSize
Negotiated outgoing buffer size, in bytes.
uint32_t receiveBufferSize
Negotiated incoming buffer size, in bytes.
uint32_t sendMaxMessageSize
Peer's limit on outgoing message size, in bytes (0 = no limit).
uint32_t sendMaxChunkCount
Peer's limit on outgoing chunk count (0 = no limit).
uint32_t recvMaxMessageSize
Local limit on incoming message size, in bytes (0 = no limit).
uint32_t recvMaxChunkCount
Local limit on incoming chunk count (0 = no limit).
uint32_t helloProtocolVersion
ProtocolVersion the client's Hello named.
ua::transport::BindAddress
struct
A local address a transport binds to in order to accept connections.
Pairs the transport profile with the profile-specific address string the transport listens on (for the default UA-TCP profile, an opc.tcp:// endpoint URL). A value type with no ownership or threading semantics.
Public attributes
TransportProfileId transportProfileId
Transport profile the address is interpreted under; selects how address is parsed.
std::string address
Profile-specific listen address (e.g. an opc.tcp:// URL for the UA-TCP profile).
ua::transport::EndpointUrl
class
An OPC UA endpoint URL (e.g.
opc.tcp://host:4840/path).
A thin value wrapper around the URL string that offers a minimal, transport-agnostic format check. It does not parse or validate the URL against any specific transport's grammar.
Functions
EndpointUrl()=default
Constructs an empty endpoint URL.
EndpointUrl(std::string url)
Constructs an endpoint URL wrapping the given string.
url(std::string) - The endpoint URL; taken by value and moved into storage. Not validated.
const std::string & str() const
Returns the wrapped URL string.
Returns: Reference to the URL, valid for the lifetime of this object.
bool has_basic_format() const
Reports whether the URL has a plausible scheme-bearing shape.
Returns: true if the URL is non-empty and contains ://; otherwise false.
Enumerations
ua::FatalCloseDisposition
enum
What a client-role connection protocol has done with the transport when it reports a fatal error (the third argument of ua::connection_protocol::ErrorCallback).
TransportClosed- The transport is closed or closing and nothing more can be written: the handshake had not completed, the socket failed, or the server sent ERR.AwaitingClose- The transport is still writable and its reads have stopped.

