Package org.red5.server.stream.filter
Class StreamBandwidthController
java.lang.Object
org.red5.server.stream.filter.StreamBandwidthController
- All Implemented Interfaces:
Runnable
,IConsumer
,IFilter
,IMessageComponent
,IPipeConnectionListener
,IProvider
public class StreamBandwidthController
extends Object
implements IFilter, IPipeConnectionListener, Runnable
Controls stream bandwidth
-
Field Summary
Modifier and TypeFieldDescriptionprivate IPipe
Stream consumer pipeprivate boolean
Start statestatic final String
Class nameprivate static final org.slf4j.Logger
Loggerprivate IPipe
Stream provider pipeprivate Thread
Daemon thread that pulls data from provider and pushes to consumer, using this controller -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Stop pulling, close streamvoid
onOOBControlMessage
(IMessageComponent source, IPipe pipe, OOBControlMessage oobCtrlMsg) void
Pipe connection event handlervoid
run()
void
start()
Start pulling (streaming)private void
Start puller thread
-
Field Details
-
log
private static final org.slf4j.Logger logLogger -
KEY
Class name -
providerPipe
Stream provider pipe -
consumerPipe
Stream consumer pipe -
puller
Daemon thread that pulls data from provider and pushes to consumer, using this controller -
isStarted
private volatile boolean isStartedStart state
-
-
Constructor Details
-
StreamBandwidthController
public StreamBandwidthController()
-
-
Method Details
-
onPipeConnectionEvent
Pipe connection event handler- Specified by:
onPipeConnectionEvent
in interfaceIPipeConnectionListener
- Parameters:
event
- Pipe connection event
-
onOOBControlMessage
- Specified by:
onOOBControlMessage
in interfaceIMessageComponent
- Parameters:
source
- Message component sourcepipe
- Connection pipeoobCtrlMsg
- Out-of-band control message
-
run
public void run() -
start
public void start()Start pulling (streaming) -
close
public void close()Stop pulling, close stream -
startThread
private void startThread()Start puller thread
-