String into a Buffer.
A typical setup for a text-based line protocol in a TCP/IP socket would be:
and then you can use aChannelPipelinepipeline = ...; // Decoders pipeline.addLast("frameDecoder", newLineBasedFrameDecoder(80)); pipeline.addLast("stringDecoder", newStringDecoder(CharsetUtil.UTF_8)); // Encoder pipeline.addLast("stringEncoder", newStringEncoder(CharsetUtil.UTF_8));
String instead of a Buffer
as a message:
void channelRead(ChannelHandlerContextctx,Stringmsg) { ch.write("Did you say '" + msg + "'?\n"); }
| Access | Constructor and Description |
|---|---|
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| protected void | encode(ChannelHandlerContext
the ctx, CharSequence ChannelHandlerContext which this MessageToMessageEncoder belongs to.the message to encode to another one. msg, List<Object> the out)List into which produced output messages should be added.Overrides io. |
| public boolean | isSharable()
Overrides default io. true if this handler is sharable and thus can be added
to more than one ChannelPipeline.
|
| charset | back to summary |
|---|---|
| private final Charset charset | |
| StringEncoder | back to summary |
|---|---|
| public StringEncoder() Creates a new instance with the current system character set. | |
| StringEncoder | back to summary |
|---|---|
| public StringEncoder(Charset charset) Creates a new instance with the specified character set. | |
| encode | back to summary |
|---|---|
| protected void encode(ChannelHandlerContext ctx, CharSequence msg, List<Object> out) throws Exception Overrides io. Doc from io. Encode from one message to another. This method will be called for each written message that can be handled by this encoder. The message will be disposed of after this call.
Subclasses that wish to sometimes pass messages through, should instead override the
| |
| isSharable | back to summary |
|---|---|
| public boolean isSharable() Overrides default io. Doc from io. Returns
| |