|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.red5.server.messaging.AbstractPipe
public abstract class AbstractPipe
Abstract pipe that books providers/consumers and listeners. Aim to ease the implementation of concrete pipes. For more information on what pipe is, see IPipe interface documentation.
IPipe
Field Summary | |
---|---|
protected CopyOnWriteArrayList<IConsumer> |
consumers
Pipe consumers list |
protected CopyOnWriteArrayList<IPipeConnectionListener> |
listeners
Event listeners |
protected CopyOnWriteArrayList<IProvider> |
providers
Pipe providers list |
Constructor Summary | |
---|---|
AbstractPipe()
|
Method Summary | |
---|---|
void |
addPipeConnectionListener(IPipeConnectionListener listener)
Registers pipe connect events listener |
void |
close()
Close the pipe |
protected void |
fireConsumerConnectionEvent(IConsumer consumer,
int type,
Map<String,Object> paramMap)
Broadcast consumer connection event |
protected void |
firePipeConnectionEvent(PipeConnectionEvent event)
Fire any pipe connection event and run all it's tasks |
protected void |
fireProviderConnectionEvent(IProvider provider,
int type,
Map<String,Object> paramMap)
Broadcast provider connection event |
List<IConsumer> |
getConsumers()
Getter for consumers |
List<IPipeConnectionListener> |
getListeners()
Getter for pipe connection events listeners |
List<IProvider> |
getProviders()
Getter for providers |
void |
removePipeConnectionListener(IPipeConnectionListener listener)
Removes pipe connection listener |
void |
sendOOBControlMessage(IConsumer consumer,
OOBControlMessage oobCtrlMsg)
Send out-of-band ("special") control message to all providers |
void |
sendOOBControlMessage(IProvider provider,
OOBControlMessage oobCtrlMsg)
Send out-of-band ("special") control message to all consumers |
void |
setListeners(List<IPipeConnectionListener> newListeners)
Setter for pipe connection events listeners |
boolean |
subscribe(IConsumer consumer,
Map<String,Object> paramMap)
Connect consumer to this pipe. |
boolean |
subscribe(IProvider provider,
Map<String,Object> paramMap)
Connect provider to this pipe. |
boolean |
unsubscribe(IConsumer consumer)
Disconnects consumer from this pipe. |
boolean |
unsubscribe(IProvider provider)
Disconnects provider from this pipe. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.red5.server.messaging.IMessageInput |
---|
pullMessage, pullMessage |
Methods inherited from interface org.red5.server.messaging.IMessageOutput |
---|
pushMessage |
Field Detail |
---|
protected volatile CopyOnWriteArrayList<IConsumer> consumers
protected volatile CopyOnWriteArrayList<IProvider> providers
protected volatile CopyOnWriteArrayList<IPipeConnectionListener> listeners
Constructor Detail |
---|
public AbstractPipe()
Method Detail |
---|
public boolean subscribe(IConsumer consumer, Map<String,Object> paramMap)
subscribe
in interface IMessageInput
consumer
- ConsumerparamMap
- Parameters passed with connection, used in concrete pipe implementations
true
if consumer was added, false
otherwisepublic boolean subscribe(IProvider provider, Map<String,Object> paramMap)
subscribe
in interface IMessageOutput
provider
- ProviderparamMap
- Parameters passed with connection, used in concrete pipe implementations
true
if provider was added, false
otherwisepublic boolean unsubscribe(IProvider provider)
unsubscribe
in interface IMessageOutput
provider
- Provider that should be removed
true
on success, false
otherwisepublic boolean unsubscribe(IConsumer consumer)
unsubscribe
in interface IMessageInput
consumer
- Consumer that should be removed
true
on success, false
otherwisepublic void addPipeConnectionListener(IPipeConnectionListener listener)
addPipeConnectionListener
in interface IPipe
listener
- Listenerpublic void removePipeConnectionListener(IPipeConnectionListener listener)
removePipeConnectionListener
in interface IPipe
listener
- Listenerpublic void sendOOBControlMessage(IProvider provider, OOBControlMessage oobCtrlMsg)
sendOOBControlMessage
in interface IMessageOutput
provider
- Provider, may be used in concrete implementationsoobCtrlMsg
- Out-of-band control messagepublic void sendOOBControlMessage(IConsumer consumer, OOBControlMessage oobCtrlMsg)
sendOOBControlMessage
in interface IMessageInput
consumer
- Consumer, may be used in concrete implementationsoobCtrlMsg
- Out-of-band control messagepublic List<IPipeConnectionListener> getListeners()
public void setListeners(List<IPipeConnectionListener> newListeners)
newListeners
- Listenerspublic List<IProvider> getProviders()
getProviders
in interface IMessageOutput
public List<IConsumer> getConsumers()
getConsumers
in interface IMessageInput
protected void fireConsumerConnectionEvent(IConsumer consumer, int type, Map<String,Object> paramMap)
consumer
- Consumer that has connectedtype
- Event typeparamMap
- Parameters passed with connectionprotected void fireProviderConnectionEvent(IProvider provider, int type, Map<String,Object> paramMap)
provider
- Provider that has connectedtype
- Event typeparamMap
- Parameters passed with connectionprotected void firePipeConnectionEvent(PipeConnectionEvent event)
event
- Pipe connection eventpublic void close()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |