Examples of IoFuture


Examples of com.yz.net.IoFuture

        session.addAttribute("START", System.currentTimeMillis());
        session.write(new ExampleMessage(num));
      }
      */
      IoSession session = IoConnector.newSession(connector);
      IoFuture future = session.connect();
     
      future.await();
     
     
     
      //int count = 0;
      while(true) {
View Full Code Here

Examples of com.yz.net.IoFuture

     
      //生成一个客户端会话
      IoSession session = IoConnector.newSession(connector);
     
      //发出连接请求
      IoFuture future = session.connect();
     
      //等待连接完成
      future.await();
     
      //连接时发生错误后的处理
      if(future.isError()) {
        System.out.println(future.getThrowable().toString());
        return;
      }
     
     
      while(true) {
View Full Code Here

Examples of com.yz.net.IoFuture

    Iterator<Long> iter = ioSessionMap.keySet().iterator();
    while(iter.hasNext()) {
      long sessionId = iter.next();
      IoSession session = ioSessionMap.get(sessionId);
      if(session != null) {
        IoFuture future = session.close();
        future.await(2000);
      }
    }
  }
View Full Code Here

Examples of com.yz.net.IoFuture

   */
  public void handleWrite(IoSessionImpl session) {
    Queue<IoFuture> writeQueue = session.getWriteQueue();
   
    while(true) {
      IoFuture ioFuture =  writeQueue.peek();
      if(ioFuture == null) {
        session.setWriteControl(false);
        return;
      }
     
      if(ioFuture.isComplete()) {
        writeQueue.poll();
        return;
      }
     
      if(ioFuture.getClass() == CloseFuture.class) {
        if(ioFuture.equals(session.getCloseFuture())) {
          //TODO:发生关闭事件
          this.removeIoSessionNow(session.getCloseFuture());
          writeQueue.poll();
          return;
        }
      }
   
      //进行写数据的处理,如果写发生异常,就返回再次取队例中的写,直到不再发生异常
      try {
        handleWriteFuture(session, (WriteFuture) ioFuture);
      } catch (IOException e) {
        //TODO:记录异常信息
        e.printStackTrace();
        if(ioFuture.equals(writeQueue.peek())) {
          writeQueue.poll();
          ((WriteFuture)ioFuture).setComplete(e);
        }
        else {
          throw new Error("发生严重错误");
View Full Code Here

Examples of org.apache.mina.api.IoFuture

        Map m = mock(Map.class);

        when(session.getAttribute(RequestFilter.IN_FLIGHT_REQUESTS)).thenReturn(m);

        // run
        IoFuture f = rq.request(session, r, 12345);

        // verify
        Assert.assertFalse(f.isDone());
        Assert.assertFalse(f.isCancelled());

        verify(r, times(2)).requestId();
        verify(session).write(r);
        verify(m).put("ID", f);
        verify(session).getAttribute(RequestFilter.IN_FLIGHT_REQUESTS);
View Full Code Here

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

        long waitTime = timeoutMillis;
       
        boolean lastComplete = true;
        Iterator<? extends IoFuture> i = futures.iterator();
        while (i.hasNext()) {
            IoFuture f = i.next();
            do {
                if (interruptable) {
                    lastComplete = f.await(waitTime);
                } else {
                    lastComplete = f.awaitUninterruptibly(waitTime);
                }
               
                waitTime = timeoutMillis - (System.currentTimeMillis() - startTime);

                if (lastComplete || waitTime <= 0) {
View Full Code Here

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

    public final void dispose() {
        if (disposed) {
            return;
        }

        IoFuture disposalFuture;
        synchronized (disposalLock) {
            disposalFuture = this.disposalFuture;
            if (!disposing) {
                disposing = true;
                try {
                    this.disposalFuture = disposalFuture = dispose0();
                } catch (Exception e) {
                    ExceptionMonitor.getInstance().exceptionCaught(e);
                } finally {
                    if (disposalFuture == null) {
                        disposed = true;
                    }
                }
            }
        }
       
        if (disposalFuture != null) {
            disposalFuture.awaitUninterruptibly();
        }

        if (createdExecutor) {
            ExecutorService e = (ExecutorService) executor;
            e.shutdown();
View Full Code Here

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

    public final void dispose() {
        if (disposed) {
            return;
        }

        IoFuture disposalFuture;
        synchronized (disposalLock) {
            disposalFuture = this.disposalFuture;
            if (!disposing) {
                disposing = true;
                try {
                    this.disposalFuture = disposalFuture = dispose0();
                } catch (Exception e) {
                    ExceptionMonitor.getInstance().exceptionCaught(e);
                } finally {
                    if (disposalFuture == null) {
                        disposed = true;
                    }
                }
            }
        }
       
        if (disposalFuture != null) {
            disposalFuture.awaitUninterruptibly();
        }

        if (createdExecutor) {
            ExecutorService e = (ExecutorService) executor;
            e.shutdown();
View Full Code Here

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

    public final void dispose() {
        if (disposed) {
            return;
        }

        IoFuture disposalFuture;
        synchronized (disposalLock) {
            disposalFuture = this.disposalFuture;
            if (!disposing) {
                disposing = true;
                try {
                    this.disposalFuture = disposalFuture = dispose0();
                } catch (Exception e) {
                    ExceptionMonitor.getInstance().exceptionCaught(e);
                } finally {
                    if (disposalFuture == null) {
                        disposed = true;
                    }
                }
            }
        }
       
        if (disposalFuture != null) {
            disposalFuture.awaitUninterruptibly();
        }

        if (createdExecutor) {
            ExecutorService e = (ExecutorService) executor;
            e.shutdown();
View Full Code Here

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

        long waitTime = timeoutMillis;
       
        boolean lastComplete = true;
        Iterator<? extends IoFuture> i = futures.iterator();
        while (i.hasNext()) {
            IoFuture f = i.next();
            do {
                if (interruptable) {
                    lastComplete = f.await(waitTime);
                } else {
                    lastComplete = f.awaitUninterruptibly(waitTime);
                }
               
                waitTime = timeoutMillis - (System.currentTimeMillis() - startTime);

                if (lastComplete || waitTime <= 0) {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.