当前位置: 首页>>代码示例>>Java>>正文


Java IdleStatus.READER_IDLE属性代码示例

本文整理汇总了Java中org.apache.mina.core.session.IdleStatus.READER_IDLE属性的典型用法代码示例。如果您正苦于以下问题:Java IdleStatus.READER_IDLE属性的具体用法?Java IdleStatus.READER_IDLE怎么用?Java IdleStatus.READER_IDLE使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.apache.mina.core.session.IdleStatus的用法示例。


在下文中一共展示了IdleStatus.READER_IDLE属性的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: sessionIdle

@Override
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
    com.lts.remoting.Channel channel = new MinaChannel(session);

    final String remoteAddress = RemotingHelper.parseChannelRemoteAddr(channel);

    if (IdleStatus.BOTH_IDLE == status) {
        LOGGER.info("{}: IDLE [{}]", sideType, remoteAddress);
        RemotingHelper.closeChannel(channel);
    }

    if (remoting.getChannelEventListener() != null) {
        RemotingEventType remotingEventType = null;
        if (IdleStatus.BOTH_IDLE == status) {
            remotingEventType = RemotingEventType.ALL_IDLE;
        } else if (IdleStatus.READER_IDLE == status) {
            remotingEventType = RemotingEventType.READER_IDLE;
        } else if (IdleStatus.WRITER_IDLE == status) {
            remotingEventType = RemotingEventType.WRITER_IDLE;
        }
        remoting.putRemotingEvent(new RemotingEvent(remotingEventType,
                remoteAddress, channel));
    }
}
 
开发者ID:WenZuHuai,项目名称:light-task-scheduler,代码行数:24,代码来源:MinaHandler.java

示例2: sessionIdle

@Override
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
	//System.out.println("SERVER: IDLE " + status + " " + session.getAttribute("idle"));
	//System.out.println("Server: " + status + " " + session.getAttribute("idle") + " IIDDDEEEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL");
	if (status == IdleStatus.WRITER_IDLE || status == IdleStatus.BOTH_IDLE) {
		session.write(new HBMsg());
	}
	if (status == IdleStatus.READER_IDLE || status == IdleStatus.BOTH_IDLE) {
		Integer idle = (Integer)session.getAttribute("idle");
		if (idle == null) {
			idle = 0;
		}
		++idle;
		session.setAttribute("idle", idle);
		if (idle == 5) {
			//System.out.println("Server: CCCLLLOOOSSSINNNGGGG Session due to inactivity.");
			session.close(true);
		}
	}
}
 
开发者ID:induwarabas,项目名称:simple-event-loop,代码行数:20,代码来源:Server.java

示例3: sessionIdle

@Override
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
	//System.out.println("CLIENT: IDLE " + status + " " + session.getAttribute("idle"));
	//System.out.println("Client: " + status + " " + session.getAttribute("idle") + " IIDDDEEEELLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL");
	if (status == IdleStatus.WRITER_IDLE) {
		session.write(new HBMsg());
	}
	if (status == IdleStatus.READER_IDLE) {
		Integer idle = (Integer)session.getAttribute("idle");
		if (idle == null) {
			idle = 0;
		}
		++idle;
		session.setAttribute("idle", idle);
		if (idle == 5) {
			//System.out.println("Client: CCCLLLOOOSSSINNNGGGG Session due to inactivity.");
			session.close(true);
		}
	}
}
 
开发者ID:induwarabas,项目名称:simple-event-loop,代码行数:20,代码来源:Client.java

示例4: sessionIdle

/**
 * Handles read timeout.
 */
@Override
public void sessionIdle(IoSession session, IdleStatus status) {
    if (status == IdleStatus.READER_IDLE) {
        throw new StreamIoException(new SocketTimeoutException("Read timeout"));
    }
}
 
开发者ID:eclipse,项目名称:neoscada,代码行数:9,代码来源:StreamIoHandler.java

示例5: sessionIdle

@Override
public void sessionIdle(NextFilter nextFilter, IoSession session, IdleStatus status) throws Exception {
    if (status == interestedIdleStatus) {
        if (!session.containsAttribute(WAITING_FOR_RESPONSE)) {
            Object pingMessage = messageFactory.getRequest(session);
            if (pingMessage != null) {
                nextFilter.filterWrite(session, new DefaultWriteRequest(pingMessage));

                // If policy is OFF, there's no need to wait for
                // the response.
                if (getRequestTimeoutHandler() != KeepAliveRequestTimeoutHandler.DEAF_SPEAKER) {
                    markStatus(session);
                    if (interestedIdleStatus == IdleStatus.BOTH_IDLE) {
                        session.setAttribute(IGNORE_READER_IDLE_ONCE);
                    }
                } else {
                    resetStatus(session);
                }
            }
        } else {
            handlePingTimeout(session);
        }
    } else if (status == IdleStatus.READER_IDLE) {
        if (session.removeAttribute(IGNORE_READER_IDLE_ONCE) == null) {
            if (session.containsAttribute(WAITING_FOR_RESPONSE)) {
                handlePingTimeout(session);
            }
        }
    }

    if (forwardEvent) {
        nextFilter.sessionIdle(session, status);
    }
}
 
开发者ID:eclipse,项目名称:neoscada,代码行数:34,代码来源:KeepAliveFilter.java

示例6: sessionIdle

@Override
public void sessionIdle(IoSession session, IdleStatus status) {
	// Close the connection if reader is idle.
	if (status == IdleStatus.READER_IDLE) {
		session.close(true);
	}
}
 
开发者ID:East196,项目名称:maker,代码行数:7,代码来源:NetCatProtocolHandler.java

示例7: sessionIdle

/** {@inheritDoc} */
@Override
public void sessionIdle(IoSession session, IdleStatus status) throws Exception {
    // @see http://issues.opennms.org/browse/NMS-5311
    if (getConversation().hasBanner() && status == IdleStatus.READER_IDLE) {
        LogUtils.infof(this, "Session went idle without receiving banner. Setting service detection to false.");
        getFuture().setServiceDetected(false);
        session.close(true);
    }
}
 
开发者ID:qoswork,项目名称:opennmszh,代码行数:10,代码来源:BaseDetectorHandler.java

示例8: sessionIdle

@Override
public void sessionIdle(IoSession session, IdleStatus status) {
    if (status == IdleStatus.READER_IDLE) {
        session.close(false);
        m_channelMapper.remove(session);
        //TODO send a notification to messaging part to remove the bining clientID-ConnConfig
    }
}
 
开发者ID:milliondreams,项目名称:moquette-mqtt,代码行数:8,代码来源:MinaMQTTHandler.java

示例9: run

@Override
    public void run() {
        IoConnector connector = new NioSocketConnector();
        connector.setConnectTimeoutMillis(CONNECT_TIMEOUT);//设置连接超时时间(毫秒数)
        connector.getFilterChain().addLast("logger", new LoggingFilter());
        connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new CommandCodecFactory("UTF-8")));

        KeepAliveMessageFactoryImpl kamfi = new KeepAliveMessageFactoryImpl();
        KeepAliveFilter kaf = new KeepAliveFilter(kamfi, IdleStatus.READER_IDLE, KeepAliveRequestTimeoutHandler.CLOSE);
        /** 是否回发 */
        kaf.setForwardEvent(true);
        connector.getFilterChain().addLast("heart", kaf);

        connector.setHandler(new CalculatorClientHander());
        ConnectFuture connectFuture = connector.connect(new InetSocketAddress(IP, PORT));
        //等待建立连接
        connectFuture.awaitUninterruptibly();

        if(!connectFuture.isConnected()){
            log.debug("连接失败");
            return ;
        }
        log.debug("连接成功");

        IoSession session = connectFuture.getSession();

//        try {
//            Cmd1003 cmd1003 = (Cmd1003) CommandFactory.createCommand(CidConst.C1003);
//            cmd1003.getReqMsg().setCpu(0.3f);
//            cmd1003.getReqMsg().setDisk(0.24f);
//            cmd1003.getReqMsg().setMemory(0.41f);
//            session.write(cmd1003);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }


        //关闭
        if (session != null) {
            if (session.isConnected()) {
                session.getCloseFuture().awaitUninterruptibly();
            }
            connector.dispose(true);
        }
    }
 
开发者ID:Keybo1013,项目名称:mina,代码行数:45,代码来源:CalculatorClient.java

示例10: KeepAliveFilter

/**
 * Creates a new instance with the default properties.
 * The default property values are:
 * <ul>
 * <li><tt>interestedIdleStatus</tt> - {@link IdleStatus#READER_IDLE}</li>
 * <li><tt>policy</tt> = {@link KeepAliveRequestTimeoutHandler#CLOSE}</li>
 * <li><tt>keepAliveRequestInterval</tt> - 60 (seconds)</li>
 * <li><tt>keepAliveRequestTimeout</tt> - 30 (seconds)</li>
 * </ul>
 */
public KeepAliveFilter(KeepAliveMessageFactory messageFactory) {
    this(messageFactory, IdleStatus.READER_IDLE, KeepAliveRequestTimeoutHandler.CLOSE);
}
 
开发者ID:eclipse,项目名称:neoscada,代码行数:13,代码来源:KeepAliveFilter.java


注:本文中的org.apache.mina.core.session.IdleStatus.READER_IDLE属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。