List of usage examples for io.netty.handler.timeout IdleStateEvent state
IdleState state
To view the source code for io.netty.handler.timeout IdleStateEvent state.
Click Source Link
From source file:club.lovety.xy.netty.test.UptimeClientHandler.java
License:Apache License
@Override public void userEventTriggered(ChannelHandlerContext ctx, Object evt) { if (!(evt instanceof IdleStateEvent)) { return;//from w ww .j a va 2 s. c om } IdleStateEvent e = (IdleStateEvent) evt; if (e.state() == IdleState.READER_IDLE) { // The connection was OK but there was no traffic for last period. println("Disconnecting due to no inbound traffic"); ctx.close(); } }
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 .j a va2 s. c o 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)) { //?//from ww w.j a va 2 s.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.alltobid.quotabid.BidServerHandler.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.READER_IDLE) { ctx.close();// w w w . java 2s.c o m } } }
From source file:com.caocao.nio.server.CustomerInboundHandler.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)) { ctx.channel().close();/*from w ww .j a v a 2s . c o m*/ ctx.channel().disconnect(); logger.info("{}?", ctx.channel().remoteAddress()); } } // TODO Auto-generated method stub super.userEventTriggered(ctx, evt); }
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. */// w w w. j ava 2 s . c o 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 ww. ja 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.eucalyptus.ws.IoHandlers.java
License:Open Source License
public static Map<String, ChannelHandler> channelMonitors(final TimeUnit unit, final long timeout) { final Map<String, ChannelHandler> monitors = Maps.newHashMap(); monitors.put("idlehandler", new IdleStateHandler(0L, 0L, timeout, unit)); monitors.put("idlecloser", new ChannelInboundHandlerAdapter() { @Override//from w ww. ja va 2s .c om public void userEventTriggered(final ChannelHandlerContext ctx, final Object evt) throws Exception { if (evt instanceof IdleStateEvent) { IdleStateEvent e = (IdleStateEvent) evt; if (e.state() == IdleState.ALL_IDLE) { ctx.channel().close(); } } } }); monitors.putAll(extraMonitors); return monitors; }
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 {/*from www . ja v a 2 s.c o m*/ //log.info("What the " +e.toString()); ctx.writeAndFlush(" IDLE \n"); } } }
From source file:com.github.sparkfy.network.server.TransportChannelHandler.java
License:Apache License
/** Triggered based on events from an {@link io.netty.handler.timeout.IdleStateHandler}. */ @Override/* www .j a va 2 s .co m*/ public void userEventTriggered(ChannelHandlerContext ctx, Object evt) throws Exception { if (evt instanceof IdleStateEvent) { IdleStateEvent e = (IdleStateEvent) evt; // See class comment for timeout semantics. In addition to ensuring we only timeout while // there are outstanding requests, we also do a secondary consistency check to ensure // there's no race between the idle timeout and incrementing the numOutstandingRequests // (see SPARK-7003). // // To avoid a race between TransportClientFactory.createClient() and this code which could // result in an inactive client being returned, this needs to run in a synchronized block. synchronized (this) { boolean isActuallyOverdue = System.nanoTime() - responseHandler.getTimeOfLastRequestNs() > requestTimeoutNs; if (e.state() == IdleState.ALL_IDLE && isActuallyOverdue) { if (responseHandler.numOutstandingRequests() > 0) { String address = NettyUtils.getRemoteAddress(ctx.channel()); logger.error("Connection to {} has been quiet for {} ms while there are outstanding " + "requests. Assuming connection is dead; please adjust spark.network.timeout if this " + "is wrong.", address, requestTimeoutNs / 1000 / 1000); client.timeOut(); ctx.close(); } else if (closeIdleConnections) { // While CloseIdleConnections is enable, we also close idle connection client.timeOut(); ctx.close(); } } } } ctx.fireUserEventTriggered(evt); }