Package org.apache.mina.core.future

Examples of org.apache.mina.core.future.CloseFuture


        clearMaps();

        //  We now have to close the session
        if ( ldapSession != null )
        {
            CloseFuture closeFuture = ldapSession.close( true );

            LOG.debug( "waiting for closeFuture" );
            closeFuture.awaitUninterruptibly();
            LOG.debug( "closeFuture done" );
            connected.set( false );
        }

        // Last, not least, reset the MessageId value
View Full Code Here


            return false;
        }

        // Get the close future for this session
        CloseFuture closeFuture = connectionFuture.getSession().getCloseFuture();

        // Add a listener to close the session in the session.
        closeFuture.addListener( new IoFutureListener<IoFuture>()
        {
            public void operationComplete( IoFuture future )
            {
                // Process all the waiting operations and cancel them
                LOG.debug( "received a NoD, closing everything" );
View Full Code Here

            return false;
        }

        // Get the close future for this session
        CloseFuture closeFuture = connectionFuture.getSession().getCloseFuture();

        // Add a listener to close the session in the session.
        closeFuture.addListener( new IoFutureListener<IoFuture>()
        {
            public void operationComplete( IoFuture future )
            {
                // Process all the waiting operations and cancel them
                LOG.debug( "received a NoD, closing everything" );
View Full Code Here

        clearMaps();

        //  We now have to close the session
        if ( ldapSession != null )
        {
            CloseFuture closeFuture = ldapSession.close( true );

            LOG.debug( "waiting for closeFuture" );
            closeFuture.awaitUninterruptibly();
            LOG.debug( "closeFuture done" );
            connected.set( false );
        }

        // Last, not least, reset the MessageId value
View Full Code Here

                {
                    WriteFuture future = selected.getIoSession().write( NoticeOfDisconnect.STRONGAUTHREQUIRED );
                    try
                    {
                        future.awaitUninterruptibly( 1000L );
                        CloseFuture cfuture = selected.getIoSession().close( true );
                        cfuture.awaitUninterruptibly( 1000L );
                    }
                    catch ( Exception e1 )
                    {
                        LOG.error( "", e1 );
                    }
View Full Code Here

          // clear seems to cause a write to closed session ex in some cases
          log.warn("Exception clearing write queue for {}", sessionId, ex);
        }
      }
      // force close the session
      final CloseFuture future = session.close(true);
      IoFutureListener<CloseFuture> listener = new IoFutureListener<CloseFuture>() {
        @SuppressWarnings({ "unchecked", "rawtypes" })
        public void operationComplete(CloseFuture future) {
          // now connection should be closed
          log.debug("Close operation completed {}: {}", sessionId, future.isClosed());
          future.removeListener(this);
          for (Object key : session.getAttributeKeys()) {
            Object obj = session.getAttribute(key);
            log.debug("Attribute: {}", obj.getClass().getName());
            if (obj instanceof IoProcessor) {
              log.debug("Flushing session in processor");
              ((IoProcessor) obj).flush(session);
              log.debug("Removing session from processor");
              ((IoProcessor) obj).remove(session);
            } else if (obj instanceof IoBuffer) {
              log.debug("Clearing session buffer");
              ((IoBuffer) obj).clear();
              ((IoBuffer) obj).free();
            }
          }
        }
      };
      future.addListener(listener);
    }
  }
View Full Code Here

    log.debug("IO Session closing: {}", (ioSession != null ? ioSession.isClosing() : null));
    if (ioSession != null && !ioSession.isClosing()) {
      // accept no further incoming data
      // ioSession.suspendRead();
      // close now, no flushing, no waiting
      final CloseFuture future = ioSession.close(true);
      log.debug("Connection close future: {}", future);
      IoFutureListener<CloseFuture> listener = new IoFutureListener<CloseFuture>() {
        public void operationComplete(CloseFuture future) {
          if (future.isClosed()) {
            log.debug("Connection is closed");
            log.trace("Session id - local: {} session: {}", getSessionId(), (String) ioSession.removeAttribute(RTMPConnection.RTMP_SESSION_ID));
            RTMPMinaConnection conn = (RTMPMinaConnection) RTMPConnManager.getInstance().getConnectionBySessionId(sessionId);
            if (conn != null) {
              handler.connectionClosed(conn);
            }
          } else {
            log.debug("Connection is not yet closed");
          }
          future.removeListener(this);
        }
      };
      future.addListener(listener);
    }
    log.debug("Connection state: {}", getState());
    if (getStateCode() != RTMP.STATE_DISCONNECTED) {
      handler.connectionClosed(this);
    }
View Full Code Here


    @Override
    public void run() {
      if ( nice_close_time_ms >= 0 ) {
        CloseFuture future = session.close( false );
        future.awaitUninterruptibly( nice_close_time_ms );
        if ( future.isDone() ) return;
      }

      session.close( true );
    }
View Full Code Here

      }

      for( CloseFuture future : futures ) {
        future.awaitUninterruptibly( 100 );
        if ( !future.isClosed() ) {
          CloseFuture immediate_future = future.getSession().close( true );
          immediate_future.awaitUninterruptibly( 500 );
        }
      }
    }
    finally {
      map_lock.unlock();
View Full Code Here

            return false;
        }

        // Get the close future for this session
        CloseFuture closeFuture = connectionFuture.getSession().getCloseFuture();

        // Add a listener to close the session in the session.
        closeFuture.addListener( new IoFutureListener<IoFuture>()
        {
            public void operationComplete( IoFuture future )
            {
                // Process all the waiting operations and cancel them
                LOG.debug( "received a NoD, closing everything" );
View Full Code Here

TOP

Related Classes of org.apache.mina.core.future.CloseFuture

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.