Queue

Class

Superclasses

System.Object
  Queue

Visual Basic

Public Class Queue
  Implements IDispatchable

C#

public class Queue : IDispatchable

Purpose

Event queue.

Remarks

Each listener is associated with a Queue object; when a message arrives, Rendezvous software places an event in the corresponding queue. Programs dispatch queues to process message events.

Destroying a queue object preempts subsequent events in that queue, and invalidates any other objects that use the queue. The method Queue.Destroy destroys a queue explicitly and immediately. You can also destroy a queue implicitly by deleting all references to it, but the garbage collector might introduce a delay before it destroys the object.

Member

Description

 

Public Static Properties

Default

Queue

Programs that need only one event queue can use this default queue (instead of creating one). The default queue has priority 1, can hold an unlimited number of events, and never discards an event (since it never exceeds an event limit).

Rendezvous software places all advisories pertaining to queue overflow on the default queue.

Programs cannot destroy the default queue, except as a side effect of Environment.Close. Programs cannot change the properties of the default queue.

Get

Public Instance Properties

Count uint

The number of message events currently in the queue.

Get

LimitPolicy

LimitPolicy

The queue’s strategy for resolving overflow of its event limit.

Get

Set

Name string

Queue names assist programmers and administrators in troubleshooting queues. When Rendezvous software delivers an advisory message pertaining to a queue, it includes the queue’s name; administrators can use queue names to identify specific queues within a program.

The default name of every queue is tibrvQueue. We strongly recommend that you relabel each queue with a distinct and informative name, for use in debugging.

Queue names must be non-null.

Get

Set

Priority uint

Each queue has a priority value, which controls its dispatch precedence within queue groups. Higher values dispatch before lower values; queues with equal priority values dispatch in round-robin fashion.

The priority must be a non-negative integer. Priority zero signifies the last queue to dispatch.

Changing the priority of a queue affects its position in all the queue groups that contain it.

Get

Set

Method

Description

Page

Life Cycle

Queue

Create an event queue.

Queue

Queue.Destroy

Shared Library Files

Queue.Destroy

Dispatch

Queue.Dispatch

Dispatch an event; if no event is ready, block.

Queue.Dispatch

Queue.Poll

Dispatch an event, if possible.

Queue.Poll

Queue.TimedDispatch

Dispatch an event, but if no event is ready to dispatch, limit the time that this call blocks while waiting for an event.

Queue.TimedDispatch