Class EndDelimitedProtocol

java.lang.Object
org.apache.synapse.transport.pipe.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

invalid reference
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 Details

    • EndDelimitedProtocol

      public EndDelimitedProtocol()
  • Method Details

    • 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