Package org.red5.server.messaging
Class InMemoryPullPullPipe
java.lang.Object
org.red5.server.messaging.AbstractPipe
org.red5.server.messaging.InMemoryPullPullPipe
- All Implemented Interfaces:
IMessageInput
,IMessageOutput
,IPipe
A simple in-memory version of pull-pull pipe. It is triggered by an active consumer that pulls messages through it from a pullable provider.
- Author:
- The Red5 Project, Steven Gong (steven.gong@gmail.com)
-
Field Summary
Fields inherited from class org.red5.server.messaging.AbstractPipe
consumers, listeners, providers
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionPull message from this input endpoint.pullMessage
(long wait) Pull message from this input endpoint.void
pushMessage
(IMessage message) Push a message to this output endpoint.boolean
Connect consumer to this pipe.boolean
Connect provider to this pipe.Methods inherited from class org.red5.server.messaging.AbstractPipe
addPipeConnectionListener, close, fireConsumerConnectionEvent, firePipeConnectionEvent, fireProviderConnectionEvent, getConsumers, getListeners, getProviders, removePipeConnectionListener, sendOOBControlMessage, sendOOBControlMessage, setListeners, unsubscribe, unsubscribe
-
Field Details
-
log
private static final org.slf4j.Logger log
-
-
Constructor Details
-
InMemoryPullPullPipe
public InMemoryPullPullPipe()
-
-
Method Details
-
subscribe
Connect consumer to this pipe. Doesn't allow to connect one consumer twice. Does register event listeners if instance of IPipeConnectionListener is given.- Specified by:
subscribe
in interfaceIMessageInput
- Overrides:
subscribe
in classAbstractPipe
- Parameters:
consumer
- ConsumerparamMap
- Parameters passed with connection, used in concrete pipe implementations- Returns:
- true if consumer was added, false otherwise
-
subscribe
Connect provider to this pipe. Doesn't allow to connect one provider twice. Does register event listeners if instance of IPipeConnectionListener is given.- Specified by:
subscribe
in interfaceIMessageOutput
- Overrides:
subscribe
in classAbstractPipe
- Parameters:
provider
- ProviderparamMap
- Parameters passed with connection, used in concrete pipe implementations- Returns:
- true if provider was added, false otherwise
-
pullMessage
Pull message from this input endpoint. Return w/o waiting.- Returns:
- The pulled message or null if message is not available.
- Throws:
IOException
- on error
-
pullMessage
Pull message from this input endpoint. Wait wait milliseconds if message is not available.- Parameters:
wait
- milliseconds to wait when message is not available.- Returns:
- The pulled message or null if message is not available.
-
pushMessage
Push a message to this output endpoint. May block the pusher when output can't handle the message at the time.- Parameters:
message
- Message to be pushed.
-