|
Sock.Rplbuffrq Method |
Top Previous Next |
Function: |
For the selected socket (selection is made through sock.num) pre-requests "numpages" number of buffer pages (1 page= 256 bytes) for the RPL buffer of the socket. |
Syntax: |
sock.cmdbuffrq(numpages as byte) as byte |
Returns: |
Actual number of pages that can be allocated (Byte). |
See Also: |
Part |
Description |
numpages |
Requested numbers of buffer pages to allocate. |
Details
The RPL buffer is the the buffer that stores outgoing inband replies (messages). Actual allocation happens when the sys.buffalloc method is used. The socket is unable to send inband replies if its RPL buffer has 0 capacity.
Unlike for TX or RX buffers there is no property to read out actual RPL buffer capacity in bytes. This capacity can be calculated as num_pages*256-16 (or =0 when num_pages=0), where "num_pages" is the number of buffer pages that was GRANTED through the sock.rplbuffrq. "-16" is because 16 bytes are needed for internal buffer variables.
Buffer allocation will not work if the socket port to which this buffer belongs is not idle (sock.statesimple is not at 0- PL_SSTS_CLOSED) at the time when sys.buffalloc executes. You can only change buffer sizes of sockets that are idle.
The RPL buffer is only required when inband commands are enabled (sock.inbandcommands= 1- YES).