OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide
The GPI Library
OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide—424822-001
2-10
Message Transfer Procedures
During the transfer-in stages, a root object on the input queue and its corresponding
object in GPI library memory have states. To best understand the two transfer-in
procedures, you need an understanding of the states at each stage.
Prior to a call to GPI_MT_START_TRANSFER_IN_ , a root object on the input queue
is unreserved (Figure 2-5
). It is available to any client that can access the queue. After
the GPI_MT_START_TRANSFER_IN_ call, the root object on the input queue is
reserved and is no longer accessible to other clients. The object copy in GPI library
memory is in an unmodifiable state: it can be inspected but not modified.
The reserved root object on the queue and the root object in the GPI library memory
change state following a call to GPI_MT_FINISH_TRANSFER_IN_ . Depending on
the setting of the remove parameter, the object on the queue can be unreserved,
deleted, moved to the archive queue, or transferred out to the MTA (P1-EXIT type only).
Depending on the retain parameter, the root object in GPI library memory can be
made modifiable or deleted.
Figure 2-5. Object States for Inbound Processing
205CDT .CDD
Legend
A - GPI_MT_START_TRANSFER_IN_
B - GPI_MT_FINISH_TRANSFER_IN_ (
retain
=OM-TRUE)
C - GPI_MT_FINISH_TRANSFER_IN_ (
retain
=OM-FALSE)
D - GPI_MT_FINISH_TRANSFER_IN_ (
remove
=MH-REMOVE)
E - GPI_MT_FINISH_TRANSFER_IN_ (
remove
=MH-ARCHIVE)
F - GPI_MT_FINISH_TRANSFER_IN_ (
remove
=MH-CANCEL)
G - GPI_MT_FINISH_TRANSFER_IN_ (
remove
=MH-TRANSFER)
denotes that, during A, a copy of the reserved root object is placed in GPI library memory
space
Root Object on Input Queue
A
DE
F
Root Object in GPI Library Memory Space
B
C
Reserved
Deleted
Deleted
Modifiable
Archive Queue
Archived
Output Queue
Transferred
G
Unreserved Reserved Unmodifiable