Support for Data Spaces
The above services allow data buffers to reside in MVS data spaces. To
designate a data space, provide an access list entry token (ALET) along with
the buffer address to designate the data space in which the buffer resides.
APPC/MVS accepts any ALET that:
- Is a public ALET in the dispatchable unit access list (DU-AL) of the work unit that made the request
- Does not designate the secondary address space.
Parameter lists and parameters other than data buffers must reside in the caller's primary address space.
A sending program can use the send_type parameter to send information and
data, and to combine operations, thus saving extra calls to APPC/MVS. Possible
values of send_type are:
- Buffer_data
- Tells APPC/MVS to put the data in its own buffers until a sufficient quantity is accumulated.
- Send_and_flush
- Tells APPC/MVS to send the data immediately without buffering it.
- Send_and_confirm
- Tells APPC/MVS to send the data immediately along with a request for confirmation.
- Send_and_prepare_to_receive
- Tells APPC/MVS to send the data immediately along with send control, to put the partner in Send state.
- Send_and_deallocate
- Tells APPC/MVS to send the data immediately along with a notification that the conversation is deallocated.
The receiving program learns about the specified send_type and other requests
for action by a value returned in the status_received parameter on its latest
Receive_Immediate or Receive_and_Wait call:
- Send_received
- Indicates that the partner has entered Receive state, placing the local program in Send state.
- Confirm_received
- Indicates that the partner has requested a confirmation.
- Confirm_send_received
- Indicates that the partner has called the prepare_to_receive function and requested confirmation.
- Confirm_dealloc_received
- Indicates that the partner has called the deallocate function and requested confirmation. For syncpoint conversations the following can be received: TAKE_COMMIT, TAKE_COMMIT_SEND, and TAKE_COMMIT_DEALLOCATE.
The receiving program can specify a maximum amount of data to be received and, if the conversation is basic, whether to fill the buffer to the maximum or to the last complete logical record that fits. When data arrives, APPC returns a data_received parameter to tell the receiver if the buffer contained an incomplete record.