Example usage for io.netty.handler.timeout IdleState WRITER_IDLE

List of usage examples for io.netty.handler.timeout IdleState WRITER_IDLE

Introduction

In this page you can find the example usage for io.netty.handler.timeout IdleState WRITER_IDLE.

Prototype

IdleState WRITER_IDLE

To view the source code for io.netty.handler.timeout IdleState WRITER_IDLE.

Click Source Link

Document

No data was sent for a while.

Usage

From source file:alluxio.client.netty.IdleWriteHandler.java

License:Apache License

@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
    if (evt instanceof IdleStateEvent) {
        if (((IdleStateEvent) evt).state() == IdleState.WRITER_IDLE) {
            Protocol.Heartbeat heartbeat = Protocol.Heartbeat.newBuilder().build();
            ctx.writeAndFlush(new RPCProtoMessage(new ProtoMessage(heartbeat)));
        }// w w w.jav a2  s.com
    }
}

From source file:cn.savor.small.netty.MiniProNettyClientHandler.java

License:Open Source License

@Override
    public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
        super.userEventTriggered(ctx, evt);
        String channelId = ctx.channel().id().toString();
        if (evt instanceof IdleStateEvent) {

            IdleStateEvent event = (IdleStateEvent) evt;

            if (event.state().equals(IdleState.READER_IDLE)) {
                //?
                LogUtils.i("READER_IDLE");
                LogFileUtil.write("MiniNettyClientHandler READER_IDLE");

            } else if (event.state().equals(IdleState.WRITER_IDLE)) {

                LogUtils.i("WRITER_IDLE");
                LogFileUtil.write("MiniNettyClientHandler WRITER_IDLE");
                try {
                    // ???
                    MessageBean message = new MessageBean();
                    message.setCmd(MessageBean.Action.HEART_CLENT_TO_SERVER);
                    String number = channelId + System.currentTimeMillis();
                    message.setSerialnumber(number);
                    message.setIp(AppUtils.getLocalIPAddress());
                    message.setMac(session.getEthernetMac());
                    InnerBean bean = new InnerBean();
                    bean.setHotelId(session.getBoiteId());
                    bean.setRoomId(session.getRoomId());
                    bean.setSsid(AppUtils.getShowingSSID(mContext));
                    bean.setBoxId(session.getBoxId());
                    ArrayList<String> contList = new ArrayList<>();
                    contList.add("I am a mini Heart Pakage...");
                    contList.add(new Gson().toJson(bean));
                    message.setContent(contList);
                    ChannelFuture future = ctx.writeAndFlush(message);
                    if (!future.isSuccess()) {
                        close(ctx);//w w  w .jav a2 s  .co  m
                    }
                    LogUtils.v("miniProgram--WRITER_IDLE====" + channelId + "====>>>>...??:"
                            + message.getSerialnumber());
                    LogUtils.v("miniProgram--future.isSuccess()====" + future.isSuccess());
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } else if (event.state().equals(IdleState.ALL_IDLE)) {
                //
                //?REQ==========
                LogUtils.i("ALL_IDLE");
                close(ctx);
            }

        }
    }

From source file:cn.savor.small.netty.NettyClientHandler.java

License:Open Source License

@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
    super.userEventTriggered(ctx, evt);
    String channelId = ctx.channel().id().toString();
    if (evt instanceof IdleStateEvent) {

        IdleStateEvent event = (IdleStateEvent) evt;

        if (event.state().equals(IdleState.READER_IDLE)) {
            //?/*w w w .  ja  v  a2s.c o  m*/
            LogUtils.i("READER_IDLE");
            LogFileUtil.write("NettyClientHandler READER_IDLE");

        } else if (event.state().equals(IdleState.WRITER_IDLE)) {

            LogUtils.i("WRITER_IDLE");
            LogFileUtil.write("NettyClientHandler WRITER_IDLE");
            //?REQ==========
            LogUtils.i("ALL_IDLE");
            // ???
            MessageBean message = new MessageBean();
            message.setCmd(MessageBean.Action.HEART_CLENT_TO_SERVER);
            String number = channelId + System.currentTimeMillis();
            message.setSerialnumber(number);
            message.setIp(AppUtils.getLocalIPAddress());
            message.setMac(session.getEthernetMac());
            InnerBean bean = new InnerBean();
            bean.setHotelId(session.getBoiteId());
            bean.setRoomId(session.getRoomId());
            bean.setSsid(AppUtils.getShowingSSID(mContext));
            bean.setBoxId(session.getBoxId());
            ArrayList<String> contList = new ArrayList<String>();
            contList.add("I am a Heart Pakage...");
            contList.add(new Gson().toJson(bean));
            message.setContent(contList);
            ctx.writeAndFlush(message);
            LogUtils.v("????====" + channelId + "====>>>>.....??:"
                    + message.getSerialnumber());
            LogFileUtil.write("NettyClientHandler ????====" + channelId
                    + "====>>>>.....??:" + message.getSerialnumber());
        } else if (event.state().equals(IdleState.ALL_IDLE)) {
            //
            close(ctx);
        }

    }
}

From source file:com.codebullets.external.party.simulator.connections.websocket.outbound.KeepAliveHandler.java

License:Apache License

/**
 * Triggered by the IdleStateHandler in the channel pipeline. Indicates that either
 * no message has been either sent or received for a longer period of time.
 *//*from   w ww .j  a va 2s  .co  m*/
@Override
public void userEventTriggered(final ChannelHandlerContext ctx, final Object evt) {
    if (evt instanceof IdleStateEvent) {
        IdleStateEvent e = (IdleStateEvent) evt;
        if (e.state() == IdleState.WRITER_IDLE && isAlive) {
            // no message has been sent for longer period of time -> send ping to keep connection alive
            ctx.writeAndFlush(new PingWebSocketFrame());
        } else if (e.state() == IdleState.READER_IDLE) {
            // no message has been received for a longer period of time
            // this means even no pong events.
            LOG.warn("No message received in expected time.");
            ctx.close();
        }
    }
}

From source file:com.emin.igwmp.skm.core.netty.handler.SocksServerHandler.java

License:Apache License

@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
    if (evt instanceof IdleStateEvent) {
        IdleStateEvent event = (IdleStateEvent) evt;
        if (event.state().equals(IdleState.READER_IDLE)) {
            ///*from  w  w  w.j  a v  a  2s  . c o m*/
        } else if (event.state().equals(IdleState.WRITER_IDLE)) {
            //
        } else if (event.state().equals(IdleState.ALL_IDLE)) {
            // ??
            String heart = Convert.Encode(new AssembleHeart().Assemble("", null));
            ctx.channel().writeAndFlush(heart);
        }
    }
    super.userEventTriggered(ctx, evt);
}

From source file:com.farsunset.cim.sdk.server.handler.CIMNioSocketAcceptor.java

License:Apache License

@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
    if (evt instanceof IdleStateEvent && ((IdleStateEvent) evt).state().equals(IdleState.WRITER_IDLE)) {
        ctx.channel().attr(AttributeKey.valueOf(CIMConstant.HEARTBEAT_KEY)).set(System.currentTimeMillis());
        ctx.channel().writeAndFlush(HeartbeatRequest.getInstance());
    }//w w  w .  j  av  a2  s  .c  o  m

    // ?30?
    if (evt instanceof IdleStateEvent && ((IdleStateEvent) evt).state().equals(IdleState.READER_IDLE)) {

        Long lastTime = (Long) ctx.channel().attr(AttributeKey.valueOf(CIMConstant.HEARTBEAT_KEY)).get();
        if (lastTime != null && System.currentTimeMillis() - lastTime >= PING_TIME_OUT) {
            ctx.channel().close();
        }

        ctx.channel().attr(AttributeKey.valueOf(CIMConstant.HEARTBEAT_KEY)).set(null);
    }
}

From source file:com.github.nettybook.ch7.junit.TelnetServerHandlerV3.java

License:Apache License

@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
    if (evt instanceof IdleStateEvent) {
        IdleStateEvent e = (IdleStateEvent) evt;

        if (e.state() == IdleState.ALL_IDLE) {
            ctx.writeAndFlush("All IDLE " + new Date().toString() + "\r\n");
            //log.info("All " + e.toString());
        } else if (e.state() == IdleState.READER_IDLE) {
            //log.info("Read " +e.toString());
            ctx.writeAndFlush("READER IDLE " + new Date().toString() + "\r\n");
        } else if (e.state() == IdleState.WRITER_IDLE) {
            //log.info("Write " +e.toString());
            ctx.writeAndFlush("WRITER IDLE" + new Date().toString() + " \r\n");
        } else {//  w  ww.  j ava 2s.c  o m
            //log.info("What the " +e.toString());
            ctx.writeAndFlush(" IDLE \n");
        }

    }
}

From source file:com.github.wolf480pl.ircd.netty.codec.MessageHandler.java

License:Open Source License

@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object event) {
    if (event instanceof IdleStateEvent) {
        final NettySession s = session.get();
        s.validate(ctx.channel());//from   ww w .  j av a  2s . com
        IdleStateEvent evt = (IdleStateEvent) event;
        if (evt.state() != IdleState.WRITER_IDLE) {
            // It's READER_IDLE or ALL_IDLE
            handler.onInboundIdle(session.get());
        }
    }
}

From source file:com.siondream.superjumper.net.SecureChatClientHandler.java

License:Apache License

@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
    if (IdleStateEvent.class.isAssignableFrom(evt.getClass())) {
        IdleStateEvent event = (IdleStateEvent) evt;
        if (event.state() == IdleState.READER_IDLE)
            System.out.println("read idle");
        else if (event.state() == IdleState.WRITER_IDLE)
            System.out.println("write idle");
        else if (event.state() == IdleState.ALL_IDLE)
            System.out.println("all idle");
    }//w w  w.  java  2 s .  c o  m
}

From source file:com.siondream.superjumper.net.SecureChatServerHandler.java

License:Apache License

@Override
public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception {
    if (IdleStateEvent.class.isAssignableFrom(evt.getClass())) {
        IdleStateEvent event = (IdleStateEvent) evt;
        if (event.state() == IdleState.READER_IDLE)
            System.out.println("read idle");
        else if (event.state() == IdleState.WRITER_IDLE)
            System.out.println("write idle");
        else if (event.state() == IdleState.ALL_IDLE)
            System.out.println("all idle");
    } else if (Integer.class.isAssignableFrom(evt.getClass())) {
        Integer event = (Integer) evt;

    }/*w  ww. j  av a 2 s  .  com*/
}