Package org.red5.server.net.rtmp
Class ReceivedMessageTaskQueue
java.lang.Object
org.red5.server.net.rtmp.ReceivedMessageTaskQueue
Contains queue of tasks for processing messages in the specified channel. Ensures that all messages which has got in channel will be processed sequentially.
- Author:
- Maria Chabanets ([email protected])
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classPrevents deadlocked message handling. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final IReceivedMessageTaskQueueListenerListener which tries to process message from queue if queue has been changed.private static final org.slf4j.Loggerprivate final intStream id.private final Queue<ReceivedMessageTask>Task queue. -
Constructor Summary
ConstructorsConstructorDescriptionReceivedMessageTaskQueue(int streamId, IReceivedMessageTaskQueueListener listener) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTask(ReceivedMessageTask task) Adds new task to the end of the queue.intGets first task from queue if it can be processed.voidRemoves all tasks from the queue.voidRemoves the specified task from the queue.
-
Field Details
-
log
private static final org.slf4j.Logger log -
streamId
private final int streamIdStream id. -
tasks
Task queue. -
listener
Listener which tries to process message from queue if queue has been changed.
-
-
Constructor Details
-
ReceivedMessageTaskQueue
-
-
Method Details
-
addTask
Adds new task to the end of the queue.- Parameters:
task- received message task
-
removeTask
Removes the specified task from the queue.- Parameters:
task- received message task
-
getTaskToProcess
Gets first task from queue if it can be processed. If first task is already in process it returns null.- Returns:
- task that can be processed or null otherwise
-
removeAllTasks
public void removeAllTasks()Removes all tasks from the queue. -
getStreamId
public int getStreamId()
-