org.apache.synapse.transport.pipe
Class EndDelimitedProtocol

java.lang.Object
  extended by 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 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 Summary
EndDelimitedProtocol()
           
 
Method Summary
 ProtocolDecoder createProtocolDecoder()
          Create a new protocol decoder for this protocol implementation.
 byte getDelimiter()
           
 void init(ParameterInclude paramInclude)
          Initialize this protocol implementation using a given set of parameters.
 void setDelimiter(byte delimiter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EndDelimitedProtocol

public EndDelimitedProtocol()
Method Detail

init

public void init(ParameterInclude paramInclude)
          throws 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:
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


Copyright © 2005-2012 Apache Software Foundation. All Rights Reserved.