On all versions of LU 6.2 API prior to the Node Type 2.1 version, whenever
a remote TP sends an allocate request to initiate a conversation
with a local TP, LU 6.2 API streams a job that runs the local TP.
This method of starting up remotely initiated TPs can be very slow,
because a job must be streamed every time an allocate request is received
from a remote TP.
The Node Type 2.1 version of LU 6.2 API/XL allows a single
TP process on the HP 3000 to receive multiple allocate requests
from remote TPs. Each remotely initiated local TP must be configured
through NMMGR. The configuration file specifies whether a TP is
to receive multiple or single allocate requests.
A local TP configured to receive multiple allocate requests
from remote TPs is started up only once. Allocate requests for that
TP are queued, and the TP must make multiple calls to the MCGetAllocate intrinsic in order to receive all the allocate
requests.
A local TP configured to receive a single allocate request
is started up every time an allocate request is received from the
remote TP. Multiple instances of it may be running at once, and
each instance must call the MCGetAllocate intrinsic only once.
For information on TP configuration, see the APPC Subsystem
on MPE XL Node Manager's Guide.
Source Code Changes to TPs |
 |
You must change your remotely initiated TPs in the following
ways in order to run them on the Node Type 2.1 version of LU 6.2
API/XL:
Change the LocalTPName parameter of the MCGetAllocate intrinsic from an output parameter to an input
parameter. Instead of receiving the LocalTPName from the intrinsic, your program must pass the LocalTPName to the intrinsic. Chapter 5 “ Intrinsic Descriptions” of this
manual contains a complete description of the MCGetAllocate intrinsic.
Make sure the LocalTPName parameter of the TPStarted intrinsic matches the LocalTPName parameter of the MCGetAllocate intrinsic. For older versions of LU 6.2 API, these
parameters did not need to match, but for the Node Type 2.1 version
of LU 6.2 API/XL, they must match.
Have the node manager configure the remotely initiated
TP through NMMGR/XL. The LocalTPName parameter of the MCGetAllocate and TPStarted intrinsics must match a configured TP name in
the APPC subsystem configuration. See the APPC Subsystem
on MPE XL Node Manager's Guide for
information on TP configuration.
The remote TP must send this configured TP name in
the allocate request. In older versions of LU 6.2 API, the remote
TP sends the name of the job file that runs the local TP. In order
to avoid changing the remote TP, make the configured TP name (and
the LocalTPName parameter) match the job file name.
If you want your TPs to receive multiple (queued)
allocate requests from remote TPs, modify them to call the
MCGetAllocate intrinsic multiple times — once for each
allocate request.
You can write a TP to receive a predetermined number
of allocate requests, or you can write it to loop through the conversation intrinsics,
from MCGetAllocate to MCDeallocate, until no more allocate requests arrive from the
remote system. (See the MCGetAllocate intrinsic description in Chapter 5 “ Intrinsic Descriptions”)
A time-out value for the MCGetAllocate intrinsic may be configured through NMMGR. If
no allocate request arrives from the remote TP before the time-out
value expires, the MCGetAllocate intrinsic returns with a status info value of
+29. If you want your TP to receive an unknown number of allocate
requests, you can design it to loop through the conversation intrinsics
until +29 is returned in the Status parameter of the MCGetAllocate intrinsic. See the APPC Subsystem on
MPE XL Node Manager's Guide for information
on configuring the time-out value.