@ChannelHandler.Sharable public class LineEncoder extends MessageToMessageEncoder<CharSequence>
String
and encode it into a ByteBuf
.
A typical setup for a text-based line protocol in a TCP/IP socket would be:
and then you can use aChannelPipeline
pipeline = ...; // Decoders pipeline.addLast("frameDecoder", newLineBasedFrameDecoder
(80)); pipeline.addLast("stringDecoder", newStringDecoder
(CharsetUtil.UTF_8)); // Encoder pipeline.addLast("lineEncoder", newLineEncoder
(LineSeparator.UNIX, CharsetUtil.UTF_8));
String
instead of a ByteBuf
as a message:
void channelRead(ChannelHandlerContext
ctx,String
msg) { ch.write("Did you say '" + msg + "'?"); }
ChannelHandler.Sharable
Constructor and Description |
---|
LineEncoder()
Creates a new instance with the current system line separator and UTF-8 charset encoding.
|
LineEncoder(Charset charset)
Creates a new instance with the specified character set.
|
LineEncoder(LineSeparator lineSeparator)
Creates a new instance with the specified line separator and UTF-8 charset encoding.
|
LineEncoder(LineSeparator lineSeparator,
Charset charset)
Creates a new instance with the specified line separator and character set.
|
Modifier and Type | Method and Description |
---|---|
protected void |
encode(ChannelHandlerContext ctx,
CharSequence msg,
List<Object> out)
Encode from one message to an other.
|
acceptOutboundMessage, write
bind, close, connect, deregister, disconnect, flush, read
ensureNotSharable, exceptionCaught, handlerAdded, handlerRemoved, isSharable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
exceptionCaught, handlerAdded, handlerRemoved
public LineEncoder()
public LineEncoder(LineSeparator lineSeparator)
public LineEncoder(Charset charset)
public LineEncoder(LineSeparator lineSeparator, Charset charset)
protected void encode(ChannelHandlerContext ctx, CharSequence msg, List<Object> out) throws Exception
MessageToMessageEncoder
encode
in class MessageToMessageEncoder<CharSequence>
ctx
- the ChannelHandlerContext
which this MessageToMessageEncoder
belongs tomsg
- the message to encode to an other oneout
- the List
into which the encoded msg should be added
needs to do some kind of aggregationException
- is thrown if an error occursCopyright © 2008–2017 The Netty Project. All rights reserved.