IdleStateAwareChannelHandler doesn't seem to work

"Trustin Lee (이희승)" trustin at gmail.com
Tue Jun 1 04:52:49 EDT 2010


Hi,

Your second handler, the one that prints 'GenericHandler!', does not
forward the event upstream.  It should call:

    ctx.sendUpstream(e);

after printing 'GenericHandler!'.

You might want to place the call before println() to see how it works.

HTH,
Trustin

falconair wrote:
> Hi, I expect the following test to print "GenericHandler..." AND
> "IdleAwareHandler..." every second.  However, I only see GenericHandler, not
> IdleAwareHandler.  Am i doing something wrong?
> 
> ----------------
> @Test
> public void idleEventTest() throws IOException {
> 
>     new DecoderEmbedder<String>(
>             new IdleStateHandler(new HashedWheelTimer(), 1, 1, 1),
> 
>             new SimpleChannelHandler() {
> 
>                 @Override
>                 public void handleUpstream(ChannelHandlerContext ctx,
> ChannelEvent e) throws Exception {
>                      System.out.println("GenericHandler!"+e);
>                 }
>             }, 
> 
>             new IdleStateAwareChannelHandler() {
> 
>                 @Override
>                 public void channelIdle(ChannelHandlerContext ctx,
> IdleStateEvent e) throws Exception {
>                     System.out.println("IdleAwareHandler!" + e);
>                 }
>             });
>     System.in.read();
> 
> }
> ---------------
> 
> I get the following output:
> 
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17] OPEN
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17] BOUND:
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17]
> CONNECTED:
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17]
> READER_IDLE since 5/19/10 10:12 PM
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17]
> ALL_IDLE since 5/19/10 10:12 PM
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17]
> WRITER_IDLE since 5/19/10 10:12 PM
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17]
> READER_IDLE since 5/19/10 10:12 PM
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17]
> WRITER_IDLE since 5/19/10 10:12 PM
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17]
> ALL_IDLE since 5/19/10 10:12 PM
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17]
> READER_IDLE since 5/19/10 10:12 PM
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17]
> WRITER_IDLE since 5/19/10 10:12 PM
> GenericHandler![id: 0x00601bb1,
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at 18fe7c3 =>
> org.jboss.netty.handler.codec.embedder.EmbeddedSocketAddress at b8df17]
> ALL_IDLE since 5/19/10 10:12 PM
> 

-- 
what we call human nature in actuality is human habit
http://gleamynode.net/



More information about the netty-users mailing list