TS/MP Pathsend and Server Programming Manual (H06.05+, J06.03+)

Interprocess Communication in the Pathsend Environment
Communication between requesters and servers in the Pathsend environment differs from
communication between Guardian requesters and servers. Rather than directly opening a particular
server process, the requester opens the LINKMON process or the ACS subsystem processes, which
in turn opens a server process selected by the PATHMON process. The LINKMON process’s open
of the server process is shared among all requesters running in the same processor as the LINKMON
process or the ACS subsystem processes.
The communication begins as follows:
1. The requester calls a Pathsend procedure (for example, SERVERCLASS_SEND_) to request a
server-class send operation.
2. The request goes to the LINKMON process or the ACS subsystem processes running in the
same processor as the Pathsend requester process.
3. The LINKMON process or the ACS subsystem processes check for a link to a server process
in the server class specified in the request. If the LINKMON process or the ACS subsystem
processes have no available link to the server class, the actions performed depend on the
settings of the PATHMON configuration parameters NUMSTATIC and MAXLINKS. These steps
might occur:
a. The LINKMON process or the ACS subsystem processes sends a “get-link” request to the
PATHMON process that manages the server class specified in the procedure call.
b. The PATHMON process selects a server process in the specified server class. If necessary,
it starts and initializes a new server process in the server class.
c. The PATHMON process sends back to the LINKMON process or the ACS subsystem
processes the Guardian process name of a server process within the specified server
class.
d. The LINKMON process or the ACS subsystem processes opens the server process of that
name. This open is shared among all the Pathsend requester processes running in the
same processor as that LINKMON process or ACS subsystem processes; therefore, a
close operation does not necessarily occur when the communication with a particular
requester process is finished.
For more information about the NUMSTATIC and MAXLINKS parameters and their effects on
get-link requests, refer to the NonStop TS/MP System Management Manual.
4. The LINKMON process or the ACS subsystem processes forward the send request to the server
process.
5. When the server process replies, the LINKMON process or the ACS subsystem processes reply
to the requester process, and the server-class send operation is complete.
The action of the PATHMON process in step 3 is called granting a link. The LINKMON process
or the ACS subsystem processes, which request links and provides access to the server process
after the link is granted, is called the link manager. (For SCREEN COBOL requesters, the TCP
serves as the link manager.)
Basic Pathsend Programming
The simplest type of Pathsend program is a context-free program. This subsection provides the
information you need to write a context-free Pathsend program. It also provides information common
to both context-free and context-sensitive programming. The next subsection provides information
about the additional tasks required of a context-sensitive Pathsend program.
Context-free Pathsend programming consists simply of sending messages to a server in a server
class and receiving the replies. The sending of a message to a Pathway server class is called a
server-class send operation. In a context-free program, only two Pathsend procedures are used:
SERVERCLASS_SEND_ to send the messages (and to receive the replies if in waited mode) and
SERVERCLASS_SEND_INFO_ to get additional information about the results of the last
SERVERCLASS_SEND_ call if the call failed.
52 Writing Pathsend Requesters