Class RTMP

java.lang.Object
org.red5.server.net.rtmp.codec.RTMP

public class RTMP extends Object
RTMP is the RTMP protocol state representation.
  • Field Details

    • states

      public static final String[] states
    • STATE_CONNECT

      public static final byte STATE_CONNECT
      Connect state
      See Also:
    • STATE_HANDSHAKE

      public static final byte STATE_HANDSHAKE
      Handshake state. Server sends handshake request to client right after connection established.
      See Also:
    • STATE_CONNECTED

      public static final byte STATE_CONNECTED
      Connected
      See Also:
    • STATE_ERROR

      public static final byte STATE_ERROR
      Error
      See Also:
    • STATE_DISCONNECTING

      public static final byte STATE_DISCONNECTING
      In the processing of disconnecting
      See Also:
    • STATE_DISCONNECTED

      public static final byte STATE_DISCONNECTED
      Disconnected
      See Also:
    • STATE_EDGE_CONNECT_ORIGIN_SENT

      public static final byte STATE_EDGE_CONNECT_ORIGIN_SENT
      Sent the connect message to origin.
      See Also:
    • STATE_ORIGIN_CONNECT_FORWARDED

      public static final byte STATE_ORIGIN_CONNECT_FORWARDED
      Forwarded client's connect call to origin.
      See Also:
    • STATE_EDGE_DISCONNECTING

      public static final byte STATE_EDGE_DISCONNECTING
      Edge is disconnecting, waiting Origin close connection.
      See Also:
    • state

      private volatile byte state
      RTMP state.
    • encrypted

      private boolean encrypted
      Encryption flag.
    • channels

      private final transient ConcurrentMap<Integer,RTMP.ChannelInfo> channels
      Map for channels, keyed by channel id.
    • readChunkSize

      private int readChunkSize
      Read chunk size. Packets are read and written chunk-by-chunk.
    • writeChunkSize

      private int writeChunkSize
      Write chunk size. Packets are read and written chunk-by-chunk.
    • encoding

      private IConnection.Encoding encoding
      Encoding type for objects.
  • Constructor Details

    • RTMP

      public RTMP()
      Creates RTMP object; essentially for storing session information.
  • Method Details

    • getChannelInfo

      private RTMP.ChannelInfo getChannelInfo(int channelId)
      Returns channel information for a given channel id.
      Parameters:
      channelId -
      Returns:
      channel info
    • isEncrypted

      public boolean isEncrypted()
      Returns:
      the encrypted
    • setEncrypted

      public void setEncrypted(boolean encrypted)
      Parameters:
      encrypted - the encrypted to set
    • getState

      public byte getState()
      Return current state.
      Returns:
      State
    • freePacket

      private void freePacket(Packet packet)
      Releases a packet.
      Parameters:
      packet - Packet to release
    • freeChannels

      private void freeChannels()
      Releases the channels.
    • setState

      public void setState(byte state)
      Setter for state.
      Parameters:
      state - New state
    • setLastReadHeader

      public void setLastReadHeader(int channelId, Header header)
      Setter for last read header.
      Parameters:
      channelId - Channel id
      header - Header
    • getLastReadHeader

      public Header getLastReadHeader(int channelId)
      Return last read header for channel.
      Parameters:
      channelId - Channel id
      Returns:
      Last read header
    • setLastWriteHeader

      public void setLastWriteHeader(int channelId, Header header)
      Setter for last written header.
      Parameters:
      channelId - Channel id
      header - Header
    • getLastWriteHeader

      public Header getLastWriteHeader(int channelId)
      Return last written header for channel.
      Parameters:
      channelId - Channel id
      Returns:
      Last written header
    • setLastReadPacket

      public void setLastReadPacket(int channelId, Packet packet)
      Setter for last read packet.
      Parameters:
      channelId - Channel id
      packet - Packet
    • getLastReadPacket

      public Packet getLastReadPacket(int channelId)
      Return last read packet for channel.
      Parameters:
      channelId - Channel id
      Returns:
      Last read packet for that channel
    • setLastWritePacket

      public void setLastWritePacket(int channelId, Packet packet)
      Setter for last written packet.
      Parameters:
      channelId - Channel id
      packet - Last written packet
    • getLastWritePacket

      public Packet getLastWritePacket(int channelId)
      Return packet that has been written last.
      Parameters:
      channelId - Channel id
      Returns:
      Packet that has been written last
    • getReadChunkSize

      public int getReadChunkSize()
      Getter for write chunk size. Data is being read chunk-by-chunk.
      Returns:
      Read chunk size
    • setReadChunkSize

      public void setReadChunkSize(int readChunkSize)
      Setter for read chunk size. Data is being read chunk-by-chunk.
      Parameters:
      readChunkSize - Value to set for property 'readChunkSize'.
    • getWriteChunkSize

      public int getWriteChunkSize()
      Getter for write chunk size. Data is being written chunk-by-chunk.
      Returns:
      Write chunk size
    • setWriteChunkSize

      public void setWriteChunkSize(int writeChunkSize)
      Setter for write chunk size.
      Parameters:
      writeChunkSize - Write chunk size
    • getEncoding

      public IConnection.Encoding getEncoding()
      Getter for encoding version.
      Returns:
      Encoding version
    • setEncoding

      public void setEncoding(IConnection.Encoding encoding)
      Setter for encoding version.
      Parameters:
      encoding - Encoding version
    • setLastFullTimestampWritten

      public void setLastFullTimestampWritten(int channelId, int timer)
    • getLastFullTimestampWritten

      public int getLastFullTimestampWritten(int channelId)
    • setLastReadPacketHeader

      public void setLastReadPacketHeader(int channelId, Header header)
      Sets the last "read" packet header for the given channel.
      Parameters:
      channelId - channel id
      header - header
    • getLastReadPacketHeader

      public Header getLastReadPacketHeader(int channelId)
      Returns the last "read" packet header for the given channel.
      Parameters:
      channelId - channel id
      Returns:
      Header
    • getLastTimestampMapping

      RTMP.LiveTimestampMapping getLastTimestampMapping(int channelId)
    • setLastTimestampMapping

      void setLastTimestampMapping(int channelId, RTMP.LiveTimestampMapping mapping)
    • clearLastTimestampMapping

      void clearLastTimestampMapping(int... channelIds)
    • toString

      public String toString()
      Overrides:
      toString in class Object