nio框架yanf4j发布0.50-alpha

简介:
俺的山寨nio框架yanf4j发布0.50-alpha版本,下载地址在 这里,更新了 wiki。本测试版本主要修改如下:
1、Controller接口引入了两个新方法

a)接受InetSocketAddress类型参数的系列open方法,用以在多宿主机上绑定到不同网络接口
     
    
public   void  open(InetSocketAddress inetSocketAddress,  boolean  reuseAddr,
            Handler handler, CodecFactory codecFactory) 
throws  IOException;
    
public   void  open(InetSocketAddress inetSocketAddress,  boolean  reuseAddr,
            Handler handler) 
throws  IOException;
    
public   void  open(InetSocketAddress inetSocketAddress, Handler handler)
            
throws  IOException;
    
public   void  open(InetSocketAddress inetSocketAddress, Handler handler,
            CodecFactory codecFactory) 
throws  IOException;

b)wakeup()方法,用以唤醒阻塞在select调用上的reactor,此方法的重载版本可以传入session和 EventType指定触发


    
public   void  wakeup();
    
public   void  wakeup(Session session, EventType eventType);

通常来说,你并不需要用到此方法。

2、TCPController添加了backlog的getter和setter方法,用以设置backlog队列大小

   
public   int  getBacklog();
  
public   void  setBacklog( int  backlog);


3、reuseAddress默认修改为false,防止服务器悄无声息地启动出错,除非你明确指定。

4、修复数个bug,如session启动未注册到controller、关闭session在异常情况下Controller没有移除session可能造成内存泄露等问题

5、一些优化手段,依照ACE建议调整事件派发顺序等

6、一些重构,因为早期AbstractController并不庞大,因而将Reactor作为它的内部类实现,现在随着代码的添加,AbstractController变的复杂难懂,因而将Reactor从AbstractController抽离成独立的类,引入新的接口如SessionEventManager、ControllerLifeCycle、ControllerWrapper以及SelectionKeyHandler等。

7、可以在jdk5.0下使用yanf4j了,原来仅支持1.6以上,不过你需要自己编译,二进制包仍然仅提供jdk6.0编译版本。

文章转自庄周梦蝶  ,原文发布时间2009-02-04

目录
相关文章
|
10月前
|
前端开发 JavaScript
Netty异步NIO框架(二)websocket 前端后端聊天 私聊及群聊
Netty异步NIO框架(二)websocket 前端后端聊天 私聊及群聊
|
10月前
|
网络协议 前端开发 Java
Netty异步NIO框架(一)java服务端与客户端实现聊天 websocket通道
Netty异步NIO框架(一)java服务端与客户端实现聊天 websocket通道
|
缓存 网络协议 安全
【Netty】Netty 简介 ( 原生 NIO 弊端 | Netty 框架 | Netty 版本 | 线程模型 | 线程 阻塞 IO 模型 | Reactor 模式引入 )
【Netty】Netty 简介 ( 原生 NIO 弊端 | Netty 框架 | Netty 版本 | 线程模型 | 线程 阻塞 IO 模型 | Reactor 模式引入 )
199 0
【Netty】Netty 简介 ( 原生 NIO 弊端 | Netty 框架 | Netty 版本 | 线程模型 | 线程 阻塞 IO 模型 | Reactor 模式引入 )
|
Oracle 关系型数据库 Java
|
Java 程序员 应用服务中间件
|
API Android开发 iOS开发
NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战
前言 本文将演示一个iOS客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo。服务端将分别用MINA2和Netty4进行实现,而通信时服务端你只需选其一就行了。
1506 0
|
Java API Android开发
NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示
学习交流 更多学习资料:点此进入,移动端即时通讯交流Q群:215891622 前言 NIO框架的流行,使得开发大并发、高性能的互联网服务端成为可能。
1225 0
|
前端开发 Java API
NIO框架入门(一):服务端基于Netty4的UDP双向通信Demo演示
学习交流 更多学习资料:点此进入 移动端即时通讯交流:215891622 前言 NIO框架的流行,使得开发大并发、高性能的互联网服务端成为可能。这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2、而Netty的主要版本是Netty3和Netty4(Netty5已经被取消开发了:详见此文)。
1556 0