org.elkoserver.foundation.net
Class RTCPRequestByteIOFramerFactory

java.lang.Object
  extended by org.elkoserver.foundation.net.RTCPRequestByteIOFramerFactory
All Implemented Interfaces:
ByteIOFramerFactory

public class RTCPRequestByteIOFramerFactory
extends Object
implements ByteIOFramerFactory

Byte I/O framer factory for RTCP requests. The framing rule used is: read one line & interpret it as an RTCP request line. If the request is not a message delivery, then framing is complete at this point. If it *is* a message delivery, then continue, following exactly the message framing rule implemented by the JSONByteIOFramerFactory class: read a block of one or more non-empty lines terminated by an empty line (i.e., by two successive newlines).

On recognition of an RTCP request as a message delivery, each block matching the JSON framing rule is regarded as a parseable unit; that is, it is expected to contain one or more syntactically complete JSON messages. The entire block is read into an internal buffer, then parsed for JSON messages that are fed to the receiver.

On output, each thing being sent is always in the form of a string by the time this class gets its hands on it, so output framing consists of merely ensuring that the proper character encoding is used.


Method Summary
 ByteIOFramer provideFramer(MessageReceiver receiver, String label)
          Provide an I/O framer for a new RTCP connection.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

provideFramer

public ByteIOFramer provideFramer(MessageReceiver receiver,
                                  String label)
Provide an I/O framer for a new RTCP connection.

Specified by:
provideFramer in interface ByteIOFramerFactory
Parameters:
receiver - Object to deliver received messages to.
label - A printable label identifying the associated connection.