if (session.getService() instanceof IoConnector && lastSession) { fireServiceDeactivated(session.getService(), session .getServiceAddress(), session.getHandler(), session .getServiceConfig());
stunServer.close(); try { final IoService service = session.getService(); log.debug("Service is: {}", service); if (IoAcceptor.class.isAssignableFrom(service.getClass())) { acceptor.unbindAll(); session.getService().getFilterChain().clear(); dgChannel.disconnect(); dgChannel.close();
if (session.getService() instanceof IoConnector && firstSession) { fireServiceActivated(session.getService(), session .getServiceAddress(), session.getHandler(), session .getServiceConfig());
stunServer.close(); try { final IoService service = session.getService(); log.info("Service is: {}", service); if (IoAcceptor.class.isAssignableFrom(service.getClass())) { acceptor.unbindAll(); session.getService().getFilterChain().clear(); dgChannel.disconnect(); dgChannel.close();
private void clear(final IoSession session, final IceStunUdpPeer stunUdpPeer, final IceAgent iceAgent) { log.info("Closing ICE agent"); iceAgent.close(); log.info("Clearing session!!"); final DatagramSessionImpl dgSession = (DatagramSessionImpl) session; final DatagramChannel dgChannel = dgSession.getChannel(); session.close().join(10 * 1000); final StunServer stunServer = stunUdpPeer.getStunServer(); stunServer.close(); try { final IoService service = session.getService(); log.info("Service is: {}", service); if (IoAcceptor.class.isAssignableFrom(service.getClass())) { log.info("Unbinding all!!"); final IoAcceptor acceptor = (IoAcceptor) service; acceptor.unbindAll(); } session.getService().getFilterChain().clear(); dgChannel.disconnect(); dgChannel.close(); } catch (final Exception e) { log.error("Error clearing session!!", e); } finally { stunUdpPeer.close(); } } }