6 Running TACL as a Server
107365 Tandem Computers Incorporated
6–1
Section 5, “Initiating and Communicating With Processes,” described how to generate
requests and communicate with processes from within a TACL program. This section
discusses a different perspective: how to provide access to a TACL process from other
processes.
There are two types of TACL servers:
A generic TACL process that processes TACL commands and built-in functions
such as WHO, ENV, CREATE, and #TIMESTAMP and returns results.
A TACL process that interprets a program (of type TEXT, MACRO, or ROUTINE).
This type of server processes a set of requests defined by the program. To provide
this type of access, you can access a program from your TACLCSTM file or use the
#SERVER built-in function.
The second type of server is a special form of the first type. Both processes are true
servers as defined by requester-server architecture: these processes wait until they
receive a request on $RECEIVE and then process the request and reply with the
results.
Both of these mechanisms support the following type of communication:
TACL
Process such
as a PATHWAY
TCP
OPEN
SEND
REPLY
The following subsections describe how to create both types of servers.
Note
When operating as a server, TACL does not act as a fault-tolerant server (it does not check the sync ID).
Therefore, do not use TACL to check correct operation of a fault-tolerant application.
Running a TACL
Process as a Server
Whenever TACL uses $RECEIVE for input, the TACL process is considered to be a
server. To run TACL as a server, you must do two things:
Establish the TACL IN file as $RECEIVE.
Provide a name for the TACL process so that other processes can access it.
The following paragraphs describe how to start TACL as a server, communicate with
it, and manage output.
Starting TACL as a Server
Process
To run TACL as a server, use the RUN or #NEWPROCESS function with TACL as the
program file and IN set to $RECEIVE:
23> TACL /NAME $name, IN $RECEIVE, NOWAIT/
24>