tibemsMsgConsumer_ReceiveTimeout

Function

Purpose

Receive a message (synchronous, blocks up to a time limit).

C Declaration

tibems_status tibemsMsgConsumer_ReceiveTimeout(
    tibemsMsgConsumer msgConsumer,
    tibemsMsg* message,
    tibems_long timeout );

COBOL Call

CALL "tibemsMsgConsumer_ReceiveTimeout"
     USING BY VALUE msgConsumer,
           BY REFERENCE message,
           BY VALUE timeout,
           RETURNING tibems-status
END-CALL.
Note: msgConsumer and message have usage pointer.

Parameters

Parameter Description
msgConsumer Receive a message through this consumer.
msg Store a pointer to the inbound message in this location.
timeout Wait no longer than this interval (in milliseconds) for a message to arrive.

Zero is a special value, which specifies no timeout (block indefinitely).

Remarks

This function consumes the next message from the consumer’s destination. When the destination does not have any messages ready, this function blocks:

  • If a message arrives at the destination, this call immediately consumes that message and returns.
  • If the (non-zero) timeout elapses before a message arrives, this call returns TIBEMS_TIMEOUT.
  • If another thread closes the consumer, this call returns TIBEMS_INTR.

When calling receive within a transaction, the consumer retains the message until transaction commits.