Class EndDelimitedProtocol

  • All Implemented Interfaces:
    Protocol

    public class EndDelimitedProtocol
    extends Object
    implements Protocol
    End delimited protocol implementation.

    In the end delimited protocol datagrams are encapsulated in the stream without modification. After each datagram an end byte is appended. Since datagrams may contain arbitrary byte sequences and no escape algorithm is defined, this protocol is only suitable if it can be assumed that the end byte never appears inside a datagram.

    This protocol implementation is mainly useful with legacy protocols. For example, in conjunction with PipeListener and org.apache.synapse.format.syslog.SyslogMessageBuilder it can be used to receive syslog events via a UNIX pipe. In this case the end byte is 10.

    This protocol recognizes a single mandatory parameter delimiter that must be configured in the transport and that specifies the end byte. The value must be given as an integer. An example transport receiver configuration looks like:

     <transportReceiver name="pipe" class="org.apache.synapse.transport.pipe.PipeListener">
       <parameter name="protocol">org.apache.synapse.transport.pipe.EndDelimitedProtocol</parameter>
       <parameter name="delimiter">10</parameter>
     </transportReceiver>
    • Constructor Detail

      • EndDelimitedProtocol

        public EndDelimitedProtocol()
    • Method Detail

      • init

        public void init​(org.apache.axis2.description.ParameterInclude paramInclude)
                  throws org.apache.axis2.AxisFault
        Description copied from interface: Protocol
        Initialize this protocol implementation using a given set of parameters.
        Specified by:
        init in interface Protocol
        Parameters:
        paramInclude - the set of parameters to use
        Throws:
        org.apache.axis2.AxisFault - if the protocol implementation failed to initialize
      • getDelimiter

        public byte getDelimiter()
      • setDelimiter

        public void setDelimiter​(byte delimiter)
      • createProtocolDecoder

        public ProtocolDecoder createProtocolDecoder()
        Description copied from interface: Protocol
        Create a new protocol decoder for this protocol implementation.
        Specified by:
        createProtocolDecoder in interface Protocol
        Returns:
        the protocol decoder