Package com.yz.net

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


     
      //生成一个客户端会话
      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

    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

   */
  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

TOP

Related Classes of com.yz.net.IoFuture

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.