莊周夢蝶

          生活、程序、未來
             :: 首頁 ::  ::  :: 聚合  :: 管理

          山寨nio框架yanf4j發布0.50-alpha

          Posted on 2009-02-04 19:28 dennis 閱讀(1941) 評論(0)  編輯  收藏 所屬分類: javamy open-source
              俺的山寨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編譯版本。

          主站蜘蛛池模板: 文成县| 齐齐哈尔市| 古交市| 泰州市| 高阳县| 辽阳县| 湖州市| 当阳市| 原平市| 裕民县| 会宁县| 陆川县| 霍山县| 明水县| 翁牛特旗| 景宁| 揭阳市| 宽城| 宿迁市| 宁明县| 新平| 吴桥县| 祁阳县| 丰原市| 抚宁县| 南木林县| 金溪县| 夏邑县| 襄城县| 佛山市| 韶山市| 筠连县| 敦化市| 阿城市| 肃北| 无锡市| 印江| 正安县| 平和县| 华阴市| 漯河市|