<div>Hi Trustin</div>
<div> </div>
<div>In my case, the length field is the size of the payload (excluding the header).</div>
<div> </div>
<div>If I read the Javadoc correctly, the LengthFieldBasedFrameDecoder is applicable when the length field is the size of the header and payload right?</div>
<div> </div>
<div>:-)<br><br></div>
<div class="gmail_quote">On Mon, Sep 21, 2009 at 9:39 AM, Trustin Lee (이희승) <span dir="ltr">&lt;<a href="mailto:trustin@gmail.com">trustin@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi Hez,<br><br>Thanks for closing this thread with a good answer and sorry that I&#39;m late.<br><br>Do you find the Javadoc of LengthFieldBasedFrameDecoder difficult to<br>
understand?  I thought your use case is explained already there.  Let<br>me know what you think so that we can improve the documentation.<br><br>Cheers<br><br>— Trustin Lee, <a href="http://gleamynode.net/" target="_blank">http://gleamynode.net/</a><br>

<div>
<div></div>
<div class="h5"><br><br><br>On Sun, Sep 20, 2009 at 9:12 PM, hezjing &lt;<a href="mailto:hezjing@gmail.com">hezjing@gmail.com</a>&gt; wrote:<br>&gt; Hi Mike<br>&gt; Hmmm ... do you mean the example of the frame like the following?<br>
&gt; &lt;-- HEADER 20 bytes --&gt;&lt;-- PAYLOAD 14 bytes --&gt;<br>&gt; +-------+---------+----+-----------------------+<br>&gt; |       | Length  |    | Payload               |<br>&gt; |       | 0x000C  |    |                       |<br>
&gt; +-------+---------+----+-----------------------+<br>&gt; Total frame size is 34 bytes.<br>&gt; &lt;-- HEADER 20 bytes --&gt;&lt;-- PAYLOAD 100 bytes --&gt;<br>&gt; +-------+--------+-----+------------------------+<br>
&gt; |       | Length |     | Payload                |<br>&gt; |       | 0x0064 |     |                        |<br>&gt; +-------+--------+-----+------------------------+<br>&gt; Total frame size is 120 bytes.<br>&gt;<br>
&gt;<br>&gt; On Sun, Sep 20, 2009 at 1:41 AM, Mike McGrady &lt;<a href="mailto:mmcgrady@topiatechnology.com">mmcgrady@topiatechnology.com</a>&gt;<br>&gt; wrote:<br>&gt;&gt;<br>&gt;&gt; Could you include an example write with this?  The two together, I<br>
&gt;&gt; suspect, will be most helpful to many people, including me.<br>&gt;&gt; Mike<br>&gt;&gt; On Sep 19, 2009, at 8:11 AM, hezjing wrote:<br>&gt;&gt;<br>&gt;&gt; Hi<br>&gt;&gt; To close this thread, my solution is to extends FrameDecoder like the<br>
&gt;&gt; following code:<br>&gt;&gt; @ChannelPipelineCoverage(&quot;all&quot;)<br>&gt;&gt; public class MyFrameDecoder extends FrameDecoder {<br>&gt;&gt;     @Override<br>&gt;&gt;     protected Object decode(ChannelHandlerContext ctx, Channel channel,<br>
&gt;&gt; ChannelBuffer buf) throws Exception {<br>&gt;&gt;         // the length field is at 3rd and 4th octet<br>&gt;&gt;         if (buf.readableBytes() &lt; 4) {<br>&gt;&gt;             return null;<br>&gt;&gt;         }<br>
&gt;&gt;         // The length field is in the buffer.<br>&gt;&gt;         buf.markReaderIndex();<br>&gt;&gt;         ...<br>&gt;&gt;         // Read the length field (the payload size)<br>&gt;&gt;         int length = buf.readUnsignedShort();<br>
&gt;&gt;         // The actual frame size is header (20) + payload size<br>&gt;&gt;         length += 20;<br>&gt;&gt;         buf.resetReaderIndex();<br>&gt;&gt;         if (buf.readableBytes() &lt; length) {<br>&gt;&gt;             return null;<br>
&gt;&gt;         }<br>&gt;&gt;         ChannelBuffer frame = buf.readBytes(length);<br>&gt;&gt;         return frame;<br>&gt;&gt;     }<br>&gt;&gt; }<br>&gt;&gt;<br>&gt;&gt; Thank you!<br>&gt;&gt;<br>&gt;&gt; On Thu, Sep 10, 2009 at 9:23 PM, hezjing &lt;<a href="mailto:hezjing@gmail.com">hezjing@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>&gt;&gt;&gt; Hi<br>&gt;&gt;&gt; I have a message containing a fixed length header of 20 bytes, followed<br>&gt;&gt;&gt; by a payload of variable length.<br>&gt;&gt;&gt; The header contains a 2 bytes length field, indicating the length of the<br>
&gt;&gt;&gt; payload (excluding the header).<br>&gt;&gt;&gt; For example if the message has 10 bytes payload, then the entire frame<br>&gt;&gt;&gt; length is 30 bytes (20 bytes header + 10 bytes of payload),<br>&gt;&gt;&gt; and the length field is 10.<br>
&gt;&gt;&gt; May I know what is the parameter to create LengthFieldBasedFrameDecoder?<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Thank you!<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; --<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; Hez<br>&gt;&gt;<br>&gt;&gt;<br>
&gt;&gt;<br>&gt;&gt; --<br>&gt;&gt;<br>&gt;&gt; Hez<br>&gt;&gt; _______________________________________________<br>&gt;&gt; netty-users mailing list<br>&gt;&gt; <a href="mailto:netty-users@lists.jboss.org">netty-users@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br>&gt;&gt;<br>&gt;&gt; Mike McGrady<br>&gt;&gt; Principal Investigator AF081-028 AFRL SBIR<br>
&gt;&gt; Senior Engineer<br>&gt;&gt; Topia Technology, Inc.<br>&gt;&gt; 1.253.720.3365<br>&gt;&gt; <a href="mailto:mmcgrady@topiatechnology.com">mmcgrady@topiatechnology.com</a><br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>
&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; _______________________________________________<br>&gt;&gt; netty-users mailing list<br>&gt;&gt; <a href="mailto:netty-users@lists.jboss.org">netty-users@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br>&gt;&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; --<br>&gt;<br>&gt; Hez<br>&gt;<br>
&gt; _______________________________________________<br>&gt; netty-users mailing list<br>&gt; <a href="mailto:netty-users@lists.jboss.org">netty-users@lists.jboss.org</a><br>&gt; <a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br>
&gt;<br>&gt;<br><br>_______________________________________________<br>netty-users mailing list<br><a href="mailto:netty-users@lists.jboss.org">netty-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/netty-users" target="_blank">https://lists.jboss.org/mailman/listinfo/netty-users</a><br>
</div></div></blockquote></div><br><br clear="all">
<div></div><br>-- <br><br>Hez<br>