MQTXP - Transport exit parameter

The MQTXP structure describes the information that is passed to the transport retry exit.

This structure is supported in the following environments: AIX.

Fields

StrucId (MQCHAR4)

Structure identifier.

The value is:

MQTXP_STRUC_ID
Identifier for transport retry exit parameter structure.

For the C programming language, the constant MQTXP_STRUC_ID_ARRAY is also defined; this has the same value as MQTXP_STRUC_ID, but is an array of characters instead of a string.

This is an input field to the exit.

Version (MQLONG)

Structure version number.

The value is:

MQTXP_VERSION_1
Version-1 transport retry exit parameter structure.

The following constant specifies the version number of the current version:

MQTXP_CURRENT_VERSION
Current version of transport retry exit parameter structure.

This is an input field to the exit.

Reserved (MQLONG)

Reserved.

This is a reserved field. The value is zero.

ExitReason (MQLONG)

Reason for invoking exit.

This indicates the reason why the exit is being called. Possible values are:

MQXR_INIT
Exit initialization.

This indicates that the exit is being invoked for the first time. It allows the exit to acquire and initialize any resources that it may need (for example: main storage).

MQXR_TERM
Exit termination.

This indicates that the exit is about to be terminated. The exit should free any resources that it may have acquired since it was initialized (for example: main storage).

MQXR_RETRY
Retry a message.

MQXR_END_BATCH
Called from MCA when batch completed.

MQXR_ACK_RECEIVED
Called from MCA when an acknowledgement has been received.

This is an input field to the exit.

ExitUserArea (MQBYTE16)

Exit user area.

This is a field that is available for the exit to use. It is initialized to MQXUA_NONE (binary zero) before the first invocation of the exit, and thereafter any changes made to this field by the exit are preserved across invocations of the exit. The first invocation of the exit has ExitReason set to MQXR_INIT.

The following value is defined:

MQXUA_NONE
No user information.

The value is binary zero for the length of the field.

For the C programming language, the constant MQXUA_NONE_ARRAY is also defined; this has the same value as MQXUA_NONE, but is an array of characters instead of a string.

The length of this field is given by MQ_EXIT_USER_AREA_LENGTH. This is an input/output field to the exit.

TransportType (MQLONG)

Transport type.

This is the type of transport being used. The value is:

MQXPT_UDP
UDP transport protocol.

This is an input field to the exit.

RetryCount (MQLONG)

Number of times data has been retried.

This is the number of previous attempts that have been made to send the current data. It is zero on first invocation of the exit for the current data.

This is an input field to the exit.

DataLength (MQLONG)

Length of data to be sent.

This is always greater than zero. For MQXPT_UDP, it is one complete encoded datagram.

This is an input field to the exit.

SessionId (MQLONG)

Session identifier.

This is the identifier of the session of channel. For MQXPT_UDP, it is the UdpHandle.

This is an input field to the exit.

GroupId (MQLONG)

Group identifier.

This is the identifier of the group, bunch, or message to which the data belongs. For MQXPT_UDP, it identifies the bunch.

This is an input field to the exit.

DataId (MQLONG)

Data identifier.

For MQXPT_UDP, this is the datagram identifier.

This is an input field to the exit.

ExitResponse (MQLONG)

Response from exit.

This is set by the exit to indicate how processing should continue. It must be one of the following:

MQXCC_OK
Exit completed successfully.

This indicates that processing should continue normally.

MQXCC_REQUEST_ACK
Request acknowledgement.

This indicates that processing should continue normally, but that the datagram about to be sent should request that an acknowledgement be returned by the receiver of the datagram.

MQXCC_CLOSE_CHANNEL
Close channel.

This indicates that processing should be discontinued and the channel closed.

If any other value is returned by the exit, processing continues as if MQXCC_CLOSE_CHANNEL had been specified.

This is an output field from the exit.

Feedback (MQLONG)

Reserved.

This is a reserved field. The value is zero.

C declaration

typedef struct tagMQTXP MQTXP;
struct tagMQTXP {
  MQCHAR4   StrucId;        /* Structure identifier */
  MQLONG    Version;        /* Structure version number */
  MQLONG    Reserved;       /* Reserved */
  MQLONG    ExitReason;     /* Reason for invoking exit */
  MQBYTE16  ExitUserArea;   /* Exit user area */
  MQLONG    TransportType;  /* Transport type */
  MQLONG    RetryCount;     /* Number of times data has been retried */
  MQLONG    DataLength;     /* Length of data to be sent */
  MQLONG    SessionId;      /* Session identifier */
  MQLONG    GroupId;        /* Group identifier */
  MQLONG    DataId;         /* Data identifier */
  MQLONG    ExitResponse;   /* Response from exit */
  MQLONG    Feedback;       /* Reserved */
};



© IBM Corporation 2002. All Rights Reserved