IUCV Messages
Message Queues
Each of the two path descriptions for a path has a path identification that is unique
for each communicator. Path identifications are assigned by IUCV when commu­
nicators invoke the CONNECT and ACCEPT functions. When invoking IUCV functions, the source communicator identifies the path by using the source's path
identification. The target communicator identifies the same path to IUCV by using
the target's path identification. The only relationship that exists between a path's
identifications is that the two identifiers are names for the two descriptions of the
same path. IUCV groups path descriptions for all the paths defined for a communicator into a
single construct called a Communication Control Table.
An IUCV communication is called a message. Communication is initiated and a
message created when the source communicator invokes the SEND function. The
target communicator acknowledges and accepts the message by invoking the
RECEIVE function.
The target communicator can optionally request information about messages sent
to it by invoking the DESCRIBE function, and can refuse a message sent to it by
invoking the REJECT function. The target communicator can respond to a mes­
sage via the REPLY function.
Communication is terminated and the message is destroyed when the source com­
municator issues the TEST COMPLETIQN function or handles an IUCV message
complete external interrupt.
An IUCV message is represented within CP by a control block called a MSGBLOK. IUCV creates a MSGBLOK when a communication is initiated and
destroys the MSGBLOK when a communication is terminated.
During its lifetime, an IUCV message moves among three IUCV queues. The IUCV queues are: Send queue -contains information about messages sent to a target communica­
tor that the target communicator has not yet received.
Receive queue -contains information about messages received by a target
communicator that the target communicator has not yet replied to.
Reply queue -contains information about messages replied to by a target
communicator that the source communicator has not yet terminated. IUCV moves the messages among the queues when a user issues the SEND,
RECEIVE, REPLY, or TEST COMPLETION function. When a source commu­
nicator issues the SEND function, IUCV creates a message (MSGBLOK) and
moves it to the target communicator's SEND queue. When the target invokes the
RECEIVE function, the message is moved to the target's own RECEIVE queue. IUCV moves the message to the source communicator's REPLY queue when the
target communicator invokes the REPLY function. When the source communica­
tor issues the TEST COMPLETION function, IUCV removes the message from
the REPLY queue, destroys the message, and completes the communication. Inter-User Communications Vehicle 111
Source Communicator
1) SEND moves a
message to the-
Figure 14 illustrates the movement of messages between the IUCV queues:
s
o P U A I
R
T D
C H
E PATH T
A
R
G
E
T P A I
T D
H
Target
Communicator
-> SEND QUEUE I 2) RECEIVE moves a message to the I RECEIVE QUEUE REPLY QUEUE<- ------------------------ -3) REPLY moves a I 4) TEST COMPLETION terminates the
communication
Figure 14. IUCV Queues
Message Data Transfer
message to the
While a message (MSGBLOK) moves among the IUCV queues, IUCV moves the
actual data associated with the message only twice during a complete communi­
cation. IUCV moves data when the target communicator issues the RECEIVE and REPLY functions. IUCV moves data among four data areas during a complete communication. When
the target communicator issues the RECEIVE function, IUCV moves the message
data from the source communicator's SEND area to the target communicator's
RECEIVE area. When the target communicator issues the REPLY function, IUCV moves data from the target communicator's REPLY area to the source
communicator's ANSWER area.
Figure 15 illustrates the movement of message data during an IUCV communi­
cation. SOURCE COMMUNICATOR VIRTUAL MACHINE
RECEIVE SEND -+----------------->
AREA REPLY <----------------+-
ANSWER
AREA Figure 15. IUCV Data Transfer
TARGET COMMUNICATOR VIRTUAL MACHINE REPLY AREA
RECEIVE
AREA
The MSGBLOK representing the message contains the addresses and lengths of
the source communicator's SEND and ANSWER areas. These locations may over­
lap.
112 VM/SP System Programmer's Guide
Previous Page Next Page