public class EndDelimitedProtocol extends Object implements Protocol
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 and Description |
---|
EndDelimitedProtocol() |
Modifier and Type | Method and Description |
---|---|
ProtocolDecoder |
createProtocolDecoder()
Create a new protocol decoder for this protocol implementation.
|
byte |
getDelimiter() |
void |
init(org.apache.axis2.description.ParameterInclude paramInclude)
Initialize this protocol implementation using a given set of
parameters.
|
void |
setDelimiter(byte delimiter) |
public void init(org.apache.axis2.description.ParameterInclude paramInclude) throws org.apache.axis2.AxisFault
Protocol
public byte getDelimiter()
public void setDelimiter(byte delimiter)
public ProtocolDecoder createProtocolDecoder()
Protocol
createProtocolDecoder
in interface Protocol
Copyright © 2005-2017 Apache Software Foundation. All Rights Reserved.