Queue
– A simple class that represents a queue instance, holding its name and current size.QueuesClient
– A high-level client that sends requests through a provided RoomClient
to list, open, drain, close, send messages to, and receive messages from queues.QueuesClient
in your code:
Queue
name: string
size: number
QueuesClient
QueuesClient
is responsible for sending requests through a RoomClient
to perform various operations on queues.
room: RoomClient
RoomClient
, which handles the low-level communication with the server or service.list()
Queue
objects containing the name and size of each queue found on the server.open(name)
name
– The name of the queue to open.drain(name)
name
– The name of the queue to drain.close(name)
name
– The name of the queue to close.send(name, message, create)
name
– The name of the queue to send a message to.message
– A JSON-serializable object containing the data you want to send.create
– (Optional) Whether to create the queue if it does not exist. Defaults to true
.create
is true, the queue will be created automatically if it doesn’t exist.receive(name, create, wait)
name
– The name of the queue to receive a message from.create
– (Optional) Whether to create the queue if it does not exist. Defaults to true
.wait
– (Optional) Whether to wait (block) until a message is available. Defaults to true
. Behavior may vary based on server-side configuration.null
if the queue was empty (represented by an EmptyResponse
).
EmptyResponse
, the method returns null
. Otherwise, it returns the JSON object from the JsonResponse
.
RoomClient
may throw errors. Make sure to wrap calls in try/catch
if you need to handle them gracefully.
RoomClient
configuration is optimized for concurrency.receive
method’s wait
parameter may affect your application’s design. If wait
is true
, the call might block until a message is available (depending on the server’s capabilities).QueuesClient
or creating related classes that also use RoomClient
.