Found 6 other functions taking a
otTcpCircularSendBuffer
argument:
Sends out data on a TCP endpoint, using the provided TCP circular send buffer to manage buffering. Once this function is called, @p aSendBuffer and @p aEndpoint are considered "attached" to each other. While they are attached, ALL send operations for @p aEndpoint must be made using @p aSendBuffer and ALL operations on @p aSendBuffer must be associated with @p aEndpoint . The only way to "detach" a TCP circular send buffer and a TCP endpoint is to wait for the send buffer to become completely empty. This can happen in two ways: (1) all data in the send buffer is sent and acknowledged in the normal course of TCP protocol operation, or (2) the connection is terminated. The recommended usage pattern is to use a single TCP circular send buffer with a TCP endpoint, and to send data on that TCP endpoint only via its associated TCP circular buffer. This recommended usage pattern sidesteps the issues described above by always using a TCP endpoint and TCP circular send buffer together. If the circular send buffer reaches capacity, only a prefix of the provided data is copied into the circular send buffer.
Initializes a TCP circular send buffer.
Performs circular-send-buffer-specific handling in the otTcpForwardProgress callback. The application is expected to install an otTcpForwardProgress() callback on the otTcpEndpoint, and call this function at the start of the callback function for circular-send-buffer-specific processing. In the callback function, the application can determine the amount of free space in the circular send buffer by calling otTcpCircularSendBufferFreeSpace(), or by comparing @p aInSendBuffer with the send buffer's capacity, chosen by the user when calling otTcpCircularSendBufferInitialize().
Returns the amount of free space in the TCP circular send buffer. This operation will always succeed.
Forcibly discards all data in the circular send buffer. The application is expected to call this function when a TCP connection is terminated unceremoniously (e.g., if the application calls otTcpEndpointAbort() or is informed of a reset connection via the otTcpConnectionLost() callback). Calling this function on a nonempty TCP circular send buffer attached to a TCP endpoint results in undefined behavior.
Deinitializes a TCP circular send buffer, detaching it if attached. If the TCP circular send buffer is not empty, then this operation will fail.