User`s guide
100 DC 900-1340I
BSC Programmer’s Guide
4.19 Queue Limit Option (21)
The queue limit option is used to prevent the ICP message buffer pool from being
exhausted. Message buffers for all links on the ICP are taken from the same memory
pool. This method allows each link to draw buffers as demand increases. However, if a
process in the client were to stop reading on one link without disabling the link, incom-
ing messages could deplete the buffer supply and the other links would not be able to
obtain buffers.
To prevent this from occurring, a queue limit can be placed on the BSC-to-client mes-
sage queue for a particular link. When the queue limit is reached, the last buffer on the
queue is marked with the
DLI_ICP_ERR_QFULL error code, and all subsequent blocks
from the link are discarded until the client program begins reading messages from the
queue. BSC sends NAK for all data blocks that cannot be put on the queue. Control
blocks such as data acknowledge, status report, etc. that cannot be placed on the queue,
are discarded. When the client program receives the
DLI_ICP_ERR_QFULL error, it should
check the sequence number to determine how much data, if any, was lost.
The client program specifies the maximum number of buffers to be placed in the BSC-
to-client queue for a particular link. The queue limit applies to all sessions for a given
link. For example, if a queue limit of ten is set on a link that has a Master and a Control
session established, the BSC software queues ten master buffers and ten control buffers.
The queue limit is also independent for each type of session; for example, if the Master
session has all ten buffers queued and waiting to be read, this does not affect the Control
session’s ten-buffer limit.
Specify a zero value to disable queue limiting for a link.
To set this option using the DLI configuration file, use the qLimit parameter; for exam-
ple,
qLimit = 0. See Table 7–1 on page 190.