NonStop S-Series Server Description Manual (G06.24+)
Interprocessor Communication
HP NonStop S-Series Server Description Manual—520331-003
9-18
Reply and Reply Acknowledge
Reply and Reply Acknowledge
Every time a listener receives a request, whether short, medium, or long, it must 
respond with a reply. That reponse occurs in a reply phase, which may or may not 
necessarily include data. But whether or not reply data is included with the reply, the 
linker, after it receives the reply, must respond with an acknowledgment.
Such a reply acknowledgment can be piggy-backed on some other message going to 
the listener processor but, if not, a separate acknowledge reply tranmission is 
required—thus both events are shown as separate phases in Figure 9-9.
Whenever a reply contains reply data, such as a reply to a read request , the reply 
phase transfers data from a listener’s buffer to a linker’s buffer. Because the address of 
the linker’s buffer is known to both the linker and the listener, it is not necessary to use 
pre-push buffers for delivery of the reply data; data is transferred directly from one 
client buffer to the other without intermediate copying.
The sequence of events, as illustrated in Figure 9-9, is as follows.
In the reply phase (where the request requires reply data), the listener process has 
already read the request control information and now knows that it needs to reply with 
the appropriate reply data. It creates its own control information in its reply control 
buffer and calls the message system with MSG_REPLY_. The message system 
accordingly creates a new TIB, which ServerNet services translates to BTE descriptors 
(1).
 When the BTE hardware transmits the reply message (2), it pre-pushes the reply 
control packets, then all the data packets, and finally the setup packet. (This setup 
packet, or possibly some prior setup packet, includes the request acknowledge 
information.) These packets are received in order by the linker’s AVT hardware (3) and 
stored according to their different contents. The reply control packets (4) and the reply 
data packets (5) are stored in their respective linker buffers. The reply setup packet, 
the last one to arrive, is sent to the interrupt queue (6), so that the message system, 
when interrupted, can alert the linker process that the reply data has been received.
In the acknowledge reply phase, the linker process calls its message system with a 
MSG_BREAK_ call to send a final reply back to the listener (acknowledging receipt of 
the reply message) and to retire the original request message. If possible (often the 
case), the message system will include (piggy-back) the acknowledge-reply 
information in some other message going to the same destination. Otherwise, the 
message system builds a simple TIB (7), which gets translated to a BTE descriptor (8), 
and a resulting interrupt packet is sent through the ServerNet hardware (9) to the 
listener’s interrupt queue (10). The message system on the listener side, when 
interrupted, then alerts the listener process that the reply message has been received 
by the linker, and resources used by this read request can be freed.










