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