org.red5.server.net.rtmpt
Class BaseRTMPTConnection

java.lang.Object
  extended by org.red5.server.AttributeStore
      extended by org.red5.server.BaseConnection
          extended by org.red5.server.net.rtmp.RTMPConnection
              extended by org.red5.server.net.rtmpt.BaseRTMPTConnection
All Implemented Interfaces:
AttributeStoreMBean, ConnectionMBean, IEventDispatcher, IEventHandler, IEventListener, IAttributeStore, ICastingAttributeStore, IConnection, ICoreObject, IServiceCapableConnection, IStreamCapableConnection
Direct Known Subclasses:
RTMPTClientConnection, RTMPTConnection

public abstract class BaseRTMPTConnection
extends RTMPConnection


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.red5.server.api.IConnection
IConnection.Encoding
 
Field Summary
 
Fields inherited from class org.red5.server.net.rtmp.RTMPConnection
bytesReadInterval, clientId, nextBytesRead, RTMP_CONNECTION_KEY, RTMP_ENCRYPTED, RTMP_HANDSHAKE, RTMP_NON_ENCRYPTED, state
 
Fields inherited from class org.red5.server.BaseConnection
basicScopes, client, closed, droppedMessages, host, params, path, readMessages, remoteAddress, remoteAddresses, remotePort, scope, sessionId, type, writtenMessages
 
Fields inherited from class org.red5.server.AttributeStore
attributes
 
Fields inherited from interface org.red5.server.api.IConnection
PERSISTENT, POLLING, TRANSIENT
 
Constructor Summary
BaseRTMPTConnection(String type)
           
 
Method Summary
 void close()
          Closes connection
 List<?> decode(IoBuffer data)
          Decode data sent by the client.
protected  IoBuffer foldPendingMessages(int targetSize)
           
 long getPendingMessages()
          Total number of messages that are pending to be sent to the connection.
abstract  IoBuffer getPendingMessages(int targetSize)
          Return any pending messages up to a given size.
 long getReadBytes()
          Total number of bytes read from the connection.
 long getWrittenBytes()
          Total number of bytes written to the connection.
 boolean isClosing()
          Getter for property 'closing'.
 void rawWrite(IoBuffer packet)
          Send raw data down the connection.
 void realClose()
          Real close
 void setDecoder(RTMPProtocolDecoder decoder)
           
 void setEncoder(RTMPProtocolEncoder encoder)
           
 void setHandler(IRTMPHandler handler)
           
 void write(Packet packet)
          Send RTMP packet down the connection.
 
Methods inherited from class org.red5.server.net.rtmp.RTMPConnection
addClientStream, closeChannel, connect, createOutputStream, createStreamName, deleteStreamById, getChannel, getClientBytesRead, getEncoding, getId, getInvokeId, getLastPingTime, getNextAvailableChannelId, getPendingCall, getPendingVideoMessages, getState, getStateCode, getStreamByChannelId, getStreamById, getStreamIdForChannel, getStreams, getUsedStreamCount, invoke, invoke, invoke, invoke, invoke, invoke, isChannelUsed, messageDropped, messageReceived, messageSent, newBroadcastStream, newPlaylistSubscriberStream, newSingleItemSubscriberStream, notify, notify, notify, notify, onInactive, ping, ping, pingReceived, receivedBytesRead, registerDeferredResult, registerPendingCall, rememberStreamBufferDuration, removeClientStream, reserveStreamId, retrievePendingCall, setId, setMaxHandshakeTimeout, setMaxInactivity, setPingInterval, setSchedulingService, setState, setStateCode, setup, startRoundTripMeasurement, startWaitForHandshake, toString, unregisterDeferredResult, unreserveStreamId, updateBytesRead, writingMessage
 
Methods inherited from class org.red5.server.BaseConnection
connect, dispatchEvent, getBasicScopes, getClient, getConnectParams, getDroppedMessages, getHost, getPath, getReadLock, getReadMessages, getRemoteAddress, getRemoteAddresses, getRemotePort, getScope, getSessionId, getType, getWriteLock, getWrittenMessages, handleEvent, initialize, isConnected, notifyEvent, registerBasicScope, unregisterBasicScope
 
Methods inherited from class org.red5.server.AttributeStore
filterNull, getAttribute, getAttribute, getAttributeNames, getAttributes, getBoolAttribute, getByteAttribute, getDoubleAttribute, getIntAttribute, getListAttribute, getLongAttribute, getMapAttribute, getSetAttribute, getShortAttribute, getStringAttribute, hasAttribute, removeAttribute, removeAttributes, setAttribute, setAttributes, setAttributes
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.red5.server.api.IConnection
connect, getBasicScopes, getClient, getConnectParams, getDroppedMessages, getHost, getPath, getReadMessages, getRemoteAddress, getRemoteAddresses, getRemotePort, getScope, getSessionId, getType, getWrittenMessages, initialize, isConnected
 
Methods inherited from interface org.red5.server.api.ICastingAttributeStore
getBoolAttribute, getByteAttribute, getDoubleAttribute, getIntAttribute, getListAttribute, getLongAttribute, getMapAttribute, getSetAttribute, getShortAttribute, getStringAttribute
 
Methods inherited from interface org.red5.server.api.IAttributeStore
getAttribute, getAttribute, getAttributeNames, getAttributes, hasAttribute, removeAttribute, removeAttributes, setAttribute, setAttributes, setAttributes
 
Methods inherited from interface org.red5.server.api.event.IEventDispatcher
dispatchEvent
 
Methods inherited from interface org.red5.server.api.event.IEventHandler
handleEvent
 
Methods inherited from interface org.red5.server.api.event.IEventListener
notifyEvent
 

Constructor Detail

BaseRTMPTConnection

public BaseRTMPTConnection(String type)
Method Detail

getPendingMessages

public abstract IoBuffer getPendingMessages(int targetSize)
Return any pending messages up to a given size.

Parameters:
targetSize - the size the resulting buffer should have
Returns:
a buffer containing the data to send or null if no messages are pending

close

public void close()
Closes connection

Specified by:
close in interface ConnectionMBean
Specified by:
close in interface IConnection
Overrides:
close in class RTMPConnection

isClosing

public boolean isClosing()
Getter for property 'closing'.

Returns:
Value for property 'closing'.

realClose

public void realClose()
Real close


rawWrite

public void rawWrite(IoBuffer packet)
Send raw data down the connection.

Specified by:
rawWrite in class RTMPConnection
Parameters:
packet - the buffer containing the raw data

getReadBytes

public long getReadBytes()
Total number of bytes read from the connection.

Specified by:
getReadBytes in interface ConnectionMBean
Specified by:
getReadBytes in interface IConnection
Overrides:
getReadBytes in class RTMPConnection
Returns:
bytes read

getWrittenBytes

public long getWrittenBytes()
Total number of bytes written to the connection.

Specified by:
getWrittenBytes in interface ConnectionMBean
Specified by:
getWrittenBytes in interface IConnection
Overrides:
getWrittenBytes in class RTMPConnection
Returns:
bytes written

getPendingMessages

public long getPendingMessages()
Total number of messages that are pending to be sent to the connection.

Specified by:
getPendingMessages in interface ConnectionMBean
Specified by:
getPendingMessages in interface IConnection
Overrides:
getPendingMessages in class BaseConnection
Returns:
pending messages

decode

public List<?> decode(IoBuffer data)
Decode data sent by the client.

Parameters:
data - the data to decode
Returns:
a list of decoded objects

write

public void write(Packet packet)
Send RTMP packet down the connection.

Specified by:
write in class RTMPConnection
Parameters:
packet - the packet to send

foldPendingMessages

protected IoBuffer foldPendingMessages(int targetSize)

setHandler

public void setHandler(IRTMPHandler handler)

setDecoder

public void setDecoder(RTMPProtocolDecoder decoder)

setEncoder

public void setEncoder(RTMPProtocolEncoder encoder)


Copyright © 2006-2010 The Red5 Project