User guide
6: ICP Software
DC 900-1338I 101
b. The protocol task removes data buffers from the server-to-board queue,
processes the requests, then releases the buffers to partition D or uses them
to send acknowledgments back to the application program.
c. The utility task obtains additional data buffers from partition D and links
them to header buffers that were returned to its header input queue. It then
issues new read request to XIO for node 1 or 2 (depending on the node from
which the header buffers were returned). In this way, the utility task
attempts to keep at least one read request pending at all times.
6.1.3.2 Write Request Processing
The utility task issues write requests to XIO when data is received on a serial line or in
response to other requests from the ICP’s host. A message to the ICP’s host can contain
a received data block, a statistics report, an error message, or some other acknowledg-
ment to a client application program. A received data block is used as an example in this
section to describe the steps involved in processing write requests. Figure6–8 illustrates
these steps.
1. The protocol task obtains a data buffer from partition D, to be filled with data
received on a particular link. When a block of data has been received, the protocol
task posts the buffer to the link’s board-to-server queue.
2. When the utility task finds the data buffer on the board-to-server queue, it links
the buffer to a header buffer obtained from partition H, creating a write request
queue element. The utility task sets the disposition flags in the system buffer head-
ers to inform XIO of the action it should take when the request is complete. It also
sets the link’s previously assigned node number in the host request header for
XIO to use in communicating with the host.
3. After filling out the
data length and session fields of the ICP and PROT headers, the
utility task issues the write request to XIO.