tibrvQueue_SetLimitPolicy()

Function

Declaration

tibrv_status tibrvQueue_SetLimitPolicy(
    tibrvQueue               eventQueue,
    tibrvQueueLimitPolicy    policy,
    tibrv_u32                maxEvents,
    tibrv_u32                discardAmount);

Purpose

Set the limit properties of a queue.

Remarks

This function simultaneously sets three related properties, which together describe the behavior of a queue in overflow situations. Each call must explicitly specify all three properties.

Parameter

Description

eventQueue

Set the limit properties of this queue.

policy

Each queue has a policy for discarding events when a new event would cause the queue to exceed its maxEvents limit. Choose from the values of tibrvQueueLimitPolicy.

When maxEvents is zero (unlimited), the policy must be TIBRVQUEUE_DISCARD_NONE.

The program supplies a value, and the function sets the limit policy of the queue to that value.

maxEvents

Programs can limit the number of events that a queue can hold—either to curb queue growth, or implement a specialized dispatch semantics.

Zero specifies an unlimited number of events; in this case, the policy must be TIBRVQUEUE_DISCARD_NONE.

The program supplies a value, and the function sets the maximum event limit of the queue to that value.

discardAmount

When the queue exceeds its maximum event limit, discard a block of events. This property specifies the number of events to discard.

When discardAmount is zero, the policy must be TIBRVQUEUE_DISCARD_NONE.

The program supplies a value, and the function sets the discard amount of the queue to that value.

See Also

tibrvQueue_GetLimitPolicy()

QUEUE.LIMIT_EXCEEDED in TIBCO Rendezvous Concepts