Protocols facilitates modular addition of network protocols on top of either TCP or UDP.
◆ ltrx_network_allowed_protocols_flag
Used by ltrx_network_allowed_protocols() and ltrx_network_lookup_network_protocol().
More than one of these values may be "or'ed" together.
If neither LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__TCP
nor LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__UDP
is set, both TCP and UDP are allowed.
Enumerator |
---|
LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__REQUIRE_NONBLOCKING | Requires non-blocking send.
|
LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__CLIENT | Requires client.
|
LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__SERVER | Requires server.
|
LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__TCP | Allow TCP based.
|
LTRX_NETWORK_ALLOWED_PROTOCOLS_FLAGS__UDP | Allow UDP based.
|
◆ ltrx_network_protocol_shutdown
How in protocolShutdown
call.
Enumerator |
---|
LTRX_NETWORK_PROTOCOL_SHUTDOWN__SEND | Send direction only.
|
LTRX_NETWORK_PROTOCOL_SHUTDOWN__RECEIVE | Receive direction only.
|
LTRX_NETWORK_PROTOCOL_SHUTDOWN__BOTH | Both directions.
|
◆ ltrx_network_return
Return code from optProtocolSendDataNonBlocking
.
Enumerator |
---|
LTRX_NETWORK_RETURN__WORKING | Working.
|
LTRX_NETWORK_RETURN__SUCCESS | Success.
|
LTRX_NETWORK_RETURN__FAILURE | Failure.
|
◆ ltrx_network_allowed_protocols()
Iterate through allowed protocols.
By incrementing zeroBasedIterator in successive calls, caller may iterate through allowed protocols.
- Returns
- Protocol name.
- Return values
-
NULL | No more protocols were found. |
- Parameters
-
[in] | zeroBasedIterator | 0 in first call, 1 in second, and so on. |
[in] | flags | Specifies restrictions, so only the allowed protocols will be returned. |
◆ ltrx_network_lookup_network_protocol()
Lookup a protocol.
- Returns
- Protocol structure.
- Return values
-
NULL | No acceptable protocol was found. |
- Parameters
-
[in] | protocolName | Name of desired protocol. |
[in] | flags | Specifies restrictions, so only an allowed protocol will be returned. |
◆ ltrx_network_register_protocol()
Register a network protocol.
Registers procedures into the system for supporting another network protocol.
Registration must be done in early module initialization.
- Parameters
-
[in] | lnp | Designates the procedures to support this protocol. |
◆ ltrx_output_stream_init_to_open_abstract_socket()
Set up an output stream to an open socket.
- Return values
-
true | Success. |
false | Failed. |
- Parameters
-
[out] | outStream | Your tcp output stream struct to initialize. |
[in] | lis | The open TCP socket that will be fed by the stream. |
[in] | lnp | The abstract network protocol. |
[in] | lnph | The abstract network protocol instance. |