private void removeSession( IoSession session ) { // remove the session from the list of polled sessions polledSessions.remove( session ); // add the bytes processed between last polling and session closing // prevent non seen byte with non-connected protocols like HTTP and datagrams IoSessionStat sessStat = ( IoSessionStat ) session.removeAttribute( KEY ); if (sessStat != null) { totalMsgWritten.addAndGet(session.getWrittenMessages() - sessStat.lastMessageWrite); totalMsgRead.addAndGet(session.getReadMessages() - sessStat.lastMessageRead); totalBytesWritten.addAndGet(session.getWrittenBytes() - sessStat.lastByteWrite); totalBytesRead.addAndGet(session.getReadBytes() - sessStat.lastByteRead); } }
/** {@inheritDoc} */ @Override public void sessionClosed(IoSession session) throws Exception { String sessionId = (String) session.getAttribute(RTMPConnection.RTMP_SESSION_ID); log.debug("Session closed: {} id: {}", session.getId(), sessionId); if (log.isTraceEnabled()) { log.trace("Session attributes: {}", session.getAttributeKeys()); } if (sessionId != null) { RTMPMinaConnection conn = (RTMPMinaConnection) RTMPConnManager.getInstance().getConnectionBySessionId(sessionId); if (conn != null) { // fire-off closed event handler.connectionClosed(conn); // clear any session attributes we may have previously set // TODO: verify this cleanup code is necessary. The session is over and will be garbage collected surely? if (session.containsAttribute(RTMPConnection.RTMP_HANDSHAKE)) { session.removeAttribute(RTMPConnection.RTMP_HANDSHAKE); } if (session.containsAttribute(RTMPConnection.RTMPE_CIPHER_IN)) { session.removeAttribute(RTMPConnection.RTMPE_CIPHER_IN); session.removeAttribute(RTMPConnection.RTMPE_CIPHER_OUT); } } else { log.warn("Connection was not found for {}", sessionId); } cleanSession(session, false); } else { log.debug("Connections session id was null in session, may already be closed"); } }
/** * Stop collecting stats. all the {@link org.apache.mina.management.IoSessionStat} object will be removed of the * polled session attachements. */ public void stop() { synchronized (this) { service.removeListener( serviceListener ); // stop worker worker.stop = true; worker.interrupt(); while( worker.isAlive() ) { try { worker.join(); } catch( InterruptedException e ) { //ignore since this is shutdown time } } for (IoSession session : polledSessions) { session.removeAttribute(KEY); } polledSessions.clear(); } }
session.removeAttribute(RTMPConnection.RTMP_HANDSHAKE);
session.removeAttribute(RTMPConnection.RTMP_HANDSHAKE);
session.removeAttribute(RTMPConnection.RTMP_HANDSHAKE); } else { log.warn("Client was rejected due to invalid handshake");
/** * {@inheritDoc} */ @Override public void dispose(IoSession session) throws Exception { session.removeAttribute(STATE); }
/** * @see IoSession#removeAttribute(Object, Object) */ public boolean removeAttribute(Object key, Object value) { return wrappedSession.removeAttribute(key, value); }
/** * Remove the decoder callback from the session's attributes. */ private void disposeDecoderOut(IoSession session) { session.removeAttribute(DECODER_OUT); } }
/** * Remove the decoder callback from the session's attributes. */ private void disposeDecoderOut(IoSession session) { session.removeAttribute(DECODER_OUT); } }
/** * {@inheritDoc} */ @Override public void sessionClosed(IoFilter.NextFilter nextFilter, IoSession session) throws Exception { super.sessionClosed(nextFilter, session); session.removeAttribute(DECODER_STATE_ATT); session.removeAttribute(PARTIAL_HEAD_ATT); } }
/** * {@inheritDoc} */ @Override public void dispose(IoSession session) throws Exception { Context ctx = (Context) session.getAttribute(CONTEXT); if (ctx != null) { session.removeAttribute(CONTEXT); } }
@Override public void onPreRemove(IoFilterChain parent, String name, NextFilter nextFilter) throws SSLException { IoSession session = parent.getSession(); stopSsl(session); session.removeAttribute(NEXT_FILTER); session.removeAttribute(SSL_HANDLER); }
/** * {@inheritDoc} */ @Override public void dispose(IoSession session) throws Exception { Context ctx = (Context) session.getAttribute(CONTEXT); if (ctx != null) { session.removeAttribute(CONTEXT); } }
/** * {@inheritDoc} */ @Override public void dispose(IoSession session) throws Exception { super.dispose(session); session.removeAttribute(STATE); }
@Override public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception { DecodingState decodingState = (DecodingState) session.removeAttribute(DECODING_STATE); if (decodingState != null) { decodingState.finishDecode(out); } }
@Override public void messageReceived(IoSession session, Object aResponse) throws Exception { RequestEnvelope requestEnv = (RequestEnvelope) session.getAttribute(RequestEnvelope.class.getSimpleName()); sessionTicket = requestEnv.ticket; session.removeAttribute(RequestEnvelope.class.getSimpleName()); pendingChanged(session, null); // Report about a response if (requestEnv.onComplete != null) { requestEnv.onComplete.accept((Response) aResponse); } }
@Override public void sessionCreated(NextFilter nextFilter, IoSession session) throws Exception { try { session.getHandler().sessionCreated(session); } finally { // Notify the related future. ConnectFuture future = (ConnectFuture) session.removeAttribute(SESSION_CREATED_FUTURE); if (future != null) { future.setSession(session); } } }
private void resetStatus(IoSession session) { session.getConfig().setReaderIdleTime(0); session.getConfig().setWriterIdleTime(0); session.getConfig().setIdleTime(interestedIdleStatus, getRequestInterval()); session.removeAttribute(WAITING_FOR_RESPONSE); }
private void resetStatus(IoSession session) { session.getConfig().setReaderIdleTime(0); session.getConfig().setWriterIdleTime(0); session.getConfig().setIdleTime(interestedIdleStatus, getRequestInterval()); session.removeAttribute(WAITING_FOR_RESPONSE); }