.redir Method
Function: |
For the currently selected socket (selection is made through sock.num), redirects the data being RXed to the TX buffer of the same socket, different socket, or another object that supports compatible buffers. |
Syntax: |
sock.redir(redir as pl_redir) as pl_redir |
Returns: |
Returns 0 — PL_REDIR_NONE if redirection failed or the same value as was passed in the redir argument. |
See Also: |
--- |
Part |
Description |
redir |
Platform-specific. See the list of pl_redir constants in the platform specifications. |
Details
Data redirection (sometimes referred to as "buffer shorting") allows for arranging the efficient data exchange between ports, sockets, etc. in cases where no data alteration or parsing is necessary, while achieving maximum possible throughput is important.
The redir argument, as well as the value returned by this method, are of "enum pl_redir" type. The pl_redir enum defines a set of platform inter-object constants that include all possible redirections for this platform. Specifying a redir value of 0 — PL_REDIR_NONE cancels redirection. When the redirection is enabled for a particular socket, the on_sock_data_arrival event is not generated for this port.
Once the RX buffer is redirected, certain properties and methods related to the RX buffer will actually return the data for the TX buffer to which this RX buffer was redirected:
- sock.rxbuffsize will actually be returning the size of the TX buffer
- sock.rxclear will actually be clearing the TX buffer
- sock.rxlen will show the amount of data in the TX buffer
Do not enable buffer redirection for a socket using TLS encryption.