MessageQueue class

A queue for managing WebSocket messages with priority and retry support.

Constructors

MessageQueue.new({int maxSize = 1000, bool enablePriority = true, bool enableDeduplication = true})
Creates a new MessageQueue.
MessageQueue.fromJson(Map<String, dynamic> json)
Creates a queue from JSON representation.
factory

Properties

ackRequiredCount int
Returns the number of messages that require acknowledgment.
no setter
ackRequiredMessages List<WebSocketMessage>
Returns messages that require acknowledgment.
no setter
allMessages List<WebSocketMessage>
Returns a copy of all messages in the queue.
no setter
enableDeduplication bool
Whether to enable message deduplication.
final
enablePriority bool
Whether to enable priority queuing.
final
hashCode int
The hash code for this object.
no setterinherited
isEmpty bool
Returns true if the queue is empty.
no setter
isFull bool
Returns true if the queue is full.
no setter
maxSize int
Maximum size of the queue.
final
retryableCount int
Returns the number of messages that can be retried.
no setter
retryableMessages List<WebSocketMessage>
Returns messages that can be retried.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
size int
Returns the current size of the queue.
no setter

Methods

clear() → void
Removes all messages from the queue.
dequeue() WebSocketMessage?
Removes and returns the next message from the queue. Returns null if the queue is empty.
enqueue(WebSocketMessage message) bool
Adds a message to the queue. Returns true if the message was added successfully.
getStatistics() Map<String, dynamic>
Returns statistics about the queue.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
peek() WebSocketMessage?
Returns the next message without removing it. Returns null if the queue is empty.
remove(String messageId) bool
Removes a specific message from the queue. Returns true if the message was found and removed.
toJson() Map<String, dynamic>
Converts the queue to a JSON representation.
toString() String
A string representation of this object.
override
updateRetryCount(String messageId) bool
Updates the retry count for a message. Returns true if the message was found and updated.

Operators

operator ==(Object other) bool
The equality operator.
inherited