hidden class %SYSTEM.IPQSet extends %Library.SystemBase
InterProcessQueues are for first in first out message transport.
This Extends the %SYSTEM.IPQ class. It provides a way to manage a set of Queues that it can receive messages from.
This class or the IPQ class can be used for receiving Queued messages, but not both at the same time.
When a get is called it will return the next msg in a round robin order from any of the attached queues to this set.
The destructor of this class or the Delete method will delete all attached Queues, and a message Put attempt to any deleted queue will fail.
The Add method adds/creates the specified Queue for Gets.
Note: The Queue could be pre-created for Put but not for Get from some other object.
Create will try to pre allocate the specified number of 32K chunks for the message queue
Create will fail if another queue with the same name already exists.
Returns zero on failure else returns the Q id
When added to this set, the next call to Get will consider returning messages from the queue, if any.
InterProcessQueues are a shared object and they don't go away until they are deleted explicitly. After deletion any references to this object from the current job or any other job will fail. Returns the number of active nodes deleted. Raises an exception, if the object is not initialized, or deleted.
On destruction, it will cleanup all associated and active message Queues. (it invokes DeleteAll).
It returns an empty string if it times out and sets SessionNum to 0
It returns an empty string if there are no members in the IPQ set and sets SessionNum to -1