3.1.7.6 Send Ping Request

The Send Ping Request event MUST be generated with the following argument:

Return Value:

  • rStatus: A Boolean value indicating whether the acceptor will accept a connection.

The protocol MUST perform the following actions to process this event:

  1. The value of the PingCookie ADM element MUST be incremented by 1.

  2. Let Request be a new instance of a Ping Packet (section 2.2.7).

  3. The Request.QMGuid field MUST be set to the value of QueueManager.Identifier.

  4. The Request.Cookie field MUST be set to the value of the PingCookie ADM element.

  5. The remaining fields of Request MUST be initialized as specified in section 2.2.7 for an initiator.

  6. Request MUST be sent as a Ping Request to the acceptor specified by the iAddress argument as specified in section 2.1.2.

  7. Start a new instance of the Ping Response Timer (section 3.1.2.9).

  8. Wait for either the Ping Response Timer Event (section 3.1.6.8) raised by the instance of the Ping Response Timer started in the previous step or a Ping Response Processed (section 3.1.7.9) event.

  9. If the Ping Response Timer Event is raised, set rStatus to FALSE and take no further action.

  10. Otherwise, if a Ping Response Processed event is raised, determine the value of rStatus based on the Response processed by the Receive Ping Response (section 3.1.7.8) event. If the Response.Flags.RF field is 0x0, rStatus MUST be set to TRUE; otherwise, rStatus MUST be set to FALSE. The instance of the Ping Response Timer is canceled.