亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? selectchannelconnector.java

?? 著名服務器nio的源碼
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
    /**     * Set the period in ms that a connection is allowed to be idle when this there are more     * than {@link #getLowResourcesConnections()} connections.  This allows the server to rapidly close idle connections     * in order to gracefully handle high load situations.     * @param lowResourcesMaxIdleTime the period in ms that a connection is allowed to be idle when resources are low.     * @see {@link #setMaxIdleTime(long)}     */    public void setLowResourceMaxIdleTime(int lowResourcesMaxIdleTime)    {        _lowResourcesMaxIdleTime=lowResourcesMaxIdleTime;        super.setLowResourceMaxIdleTime(lowResourcesMaxIdleTime);     }        /* ------------------------------------------------------------ */    /*     * @see org.mortbay.jetty.AbstractConnector#doStart()     */    protected void doStart() throws Exception    {        _manager.setSelectSets(getAcceptors());        _manager.setMaxIdleTime(getMaxIdleTime());        _manager.setLowResourcesConnections(getLowResourcesConnections());        _manager.setLowResourcesMaxIdleTime(getLowResourcesMaxIdleTime());        _manager.start();        open();        _manager.register(_acceptChannel);        super.doStart();    }    /* ------------------------------------------------------------ */    /*     * @see org.mortbay.jetty.AbstractConnector#doStop()     */    protected void doStop() throws Exception    {        _manager.stop();        super.doStop();    }    /* ------------------------------------------------------------ */    protected SelectChannelEndPoint newEndPoint(SocketChannel channel, SelectSet selectSet, SelectionKey key) throws IOException    {        return new ConnectorEndPoint(channel,selectSet,key);    }    /* ------------------------------------------------------------------------------- */    protected Connection newConnection(SocketChannel channel,SelectChannelEndPoint endpoint)    {        return new HttpConnection(SelectChannelConnector.this,endpoint,getServer());    }    /* ------------------------------------------------------------ */    /* ------------------------------------------------------------ */    /* ------------------------------------------------------------ */    public static class ConnectorEndPoint extends SelectChannelEndPoint    {        public ConnectorEndPoint(SocketChannel channel, SelectSet selectSet, SelectionKey key)        {            super(channel,selectSet,key);            scheduleIdle();        }        public void close() throws IOException        {            RetryContinuation continuation = (RetryContinuation) ((HttpConnection)getConnection()).getRequest().getContinuation();            if (continuation != null && continuation.isPending())                continuation.reset();            super.close();        }        /* ------------------------------------------------------------ */        public void undispatch()        {            RetryContinuation continuation = (RetryContinuation) ((HttpConnection)getConnection()).getRequest().getContinuation();            if (continuation != null)            {                // We have a continuation                Log.debug("continuation {}", continuation);                if (continuation.undispatch())                    super.undispatch();            }            else            {                super.undispatch();            }                       }    }    /* ------------------------------------------------------------ */    /* ------------------------------------------------------------ */    /* ------------------------------------------------------------ */    public static class RetryContinuation extends Timeout.Task implements Continuation, Runnable    {        SelectChannelEndPoint _endPoint=(SelectChannelEndPoint)HttpConnection.getCurrentConnection().getEndPoint();        boolean _new = true;        Object _object;        boolean _pending = false;   // waiting for resume or timeout        boolean _resumed = false;   // resume called.        boolean _parked =false;     // end point dispatched, but undispatch called.        RetryRequest _retry;        long _timeout;                public Object getObject()        {            return _object;        }        public long getTimeout()        {            return _timeout;        }        public boolean isNew()        {            return _new;        }        public boolean isPending()        {            return _pending;        }        public boolean isResumed()        {            return _resumed;        }        public void reset()        {            synchronized (this)            {                _resumed = false;                _pending = false;                _parked = false;            }                        synchronized (_endPoint.getSelectSet())            {                this.cancel();               }        }         public boolean suspend(long timeout)        {            boolean resumed=false;            synchronized (this)            {                resumed=_resumed;                _resumed=false;                _new = false;                if (!_pending && !resumed && timeout >= 0)                {                    _pending=true;                    _parked = false;                    _timeout = timeout;                    if (_retry==null)                     _retry = new RetryRequest();                    throw _retry;                }                                // here only if suspend called on pending continuation.                // acts like a reset                _resumed = false;                _pending = false;                _parked =false;            }            synchronized (_endPoint.getSelectSet())            {                this.cancel();               }            return resumed;        }                public void resume()        {            boolean redispatch=false;            synchronized (this)            {                if (_pending && !isExpired())                {                    _resumed = true;                    redispatch=_parked;                    _parked=false;                }            }            if (redispatch)            {                SelectSet selectSet = _endPoint.getSelectSet();                                synchronized (selectSet)                {                    this.cancel();                   }                _endPoint.scheduleIdle();  // TODO maybe not needed?                selectSet.addChange(this);                selectSet.wakeup();            }        }                public void expire()        {            boolean redispatch=false;            synchronized (this)            {                redispatch=_parked && _pending && !_resumed;                _parked=false;            }            if (redispatch)            {                _endPoint.scheduleIdle();  // TODO maybe not needed?                _endPoint.getSelectSet().addChange(this);                _endPoint.getSelectSet().wakeup();            }        }                public void run()        {            _endPoint.run();        }                /* undispatch continuation.         * Called when an endppoint is undispatched.           * Either sets timeout or dispatches if already resumed or expired */        public boolean undispatch()        {            boolean redispatch=false;                    synchronized (this)            {                if (!_pending)                    return true;                                redispatch=isExpired() || _resumed;                _parked=!redispatch;            }                        if (redispatch)            {                _endPoint.scheduleIdle();                _endPoint.getSelectSet().addChange(this);            }            else if (_timeout>0)                _endPoint.getSelectSet().scheduleTimeout(this,_timeout);                        _endPoint.getSelectSet().wakeup();            return false;        }        public void setObject(Object object)        {            _object = object;        }                public String toString()        {            synchronized (this)            {                return "RetryContinuation@"+hashCode()+                (_new?",new":"")+                (_pending?",pending":"")+                (_resumed?",resumed":"")+                (isExpired()?",expired":"")+                (_parked?",parked":"");            }        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品一区二区三区三上悠亚 | 国产激情一区二区三区桃花岛亚洲| 国产伦精品一区二区三区视频青涩 | 日韩西西人体444www| 中文字幕亚洲在| 国产91综合网| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲成人你懂的| 欧美日韩第一区日日骚| 亚洲一区二区美女| 欧美三级一区二区| 午夜国产不卡在线观看视频| 91成人看片片| 视频一区二区欧美| 91精品国产综合久久久久久久久久 | 欧美日韩黄色影视| 午夜久久久久久电影| 欧美一区二区三区白人| 综合激情网...| 成人免费毛片高清视频| 亚洲欧洲99久久| 欧美在线色视频| 日本免费新一区视频 | 男女男精品网站| 久久久无码精品亚洲日韩按摩| 粗大黑人巨茎大战欧美成人| 国产精品久久久久一区二区三区| 不卡在线观看av| 亚洲国产一区二区视频| 日韩一级成人av| 国产精品 日产精品 欧美精品| 亚洲欧美综合色| 欧美一区二区三区爱爱| 国产精品18久久久久久久久 | 国产乱子伦视频一区二区三区 | 欧美经典一区二区| 欧美高清视频www夜色资源网| 韩国精品主播一区二区在线观看| 亚洲欧洲av一区二区三区久久| 欧美日韩精品综合在线| 99久久精品国产毛片| 免费在线成人网| 亚洲精品日日夜夜| 日本一区二区视频在线| 日韩一区二区三区电影在线观看| 成人app软件下载大全免费| 热久久免费视频| 亚洲午夜免费电影| 亚洲色图清纯唯美| 国产精品久久久久久久久搜平片| 国产一区二区三区av电影| 樱花影视一区二区| 亚洲女人的天堂| 成人免费在线视频| 日韩一区有码在线| 综合久久久久久| 亚洲天堂2014| 亚洲免费观看在线观看| 国产精品免费网站在线观看| 久久亚洲综合色| 国产日韩欧美亚洲| 中文字幕亚洲一区二区va在线| 国产日韩欧美麻豆| 亚洲欧洲成人自拍| 亚洲美女在线国产| 一级精品视频在线观看宜春院 | 亚洲成人av福利| 亚洲主播在线观看| 亚洲丶国产丶欧美一区二区三区| 亚洲自拍欧美精品| 三级一区在线视频先锋 | 亚洲欧美另类在线| 午夜精品福利久久久| 精品亚洲欧美一区| 不卡的电影网站| 91国产免费看| 久久一日本道色综合| 国产精品久线观看视频| 亚洲第一主播视频| 国产成人免费在线| 欧美三级中文字| 国产女主播一区| 免费日本视频一区| 99国内精品久久| 精品美女一区二区三区| 国产精品久久毛片av大全日韩| 欧美激情综合网| 久久综合久久综合亚洲| 亚洲女厕所小便bbb| 久久99精品国产| 欧美一级二级三级蜜桃| 亚洲欧美日韩中文播放| 国产在线精品一区二区夜色| 欧美日韩中文一区| 国产精品久久久久一区二区三区共 | 欧美日韩国产一级| 中文字幕日韩精品一区| 精品一区二区影视| 欧美日韩免费观看一区三区| 国产精品久久三区| 国产999精品久久| 国产亚洲一本大道中文在线| 日本网站在线观看一区二区三区| 99久久精品国产网站| 中文字幕日韩一区二区| 国产成人三级在线观看| 久久久99精品久久| 国产成人免费xxxxxxxx| 久久综合色之久久综合| 国内一区二区视频| 国产日韩精品视频一区| 国产成人自拍网| 久久综合色鬼综合色| 国产成人午夜精品影院观看视频 | 亚洲精品久久7777| 在线视频中文字幕一区二区| 亚洲一区在线视频| 欧美视频在线不卡| 日本一不卡视频| 精品欧美一区二区久久| 国产精品白丝jk白祙喷水网站 | 7777精品伊人久久久大香线蕉的 | 狠狠色综合播放一区二区| 精品卡一卡二卡三卡四在线| 国产精品一二三四五| 中文字幕亚洲一区二区av在线 | 国产精品一区二区不卡| 国产精品伦理在线| 欧美日韩1234| 国产高清不卡一区二区| 亚洲国产精品久久艾草纯爱| 欧美一区午夜精品| 色婷婷精品久久二区二区蜜臀av| 肉色丝袜一区二区| 日韩毛片视频在线看| 日韩欧美色综合网站| 91女厕偷拍女厕偷拍高清| 香蕉成人伊视频在线观看| 国产精品卡一卡二卡三| 欧美一区二视频| 欧美性videosxxxxx| 高清国产午夜精品久久久久久| 午夜精品久久久久久久99樱桃| 国产欧美一区二区精品秋霞影院| 欧美精品 国产精品| 在线精品国精品国产尤物884a| 国产福利精品一区| 国产一区二区网址| 国产精品一级二级三级| 日韩高清不卡一区二区| 亚洲成人免费视| 亚洲激情欧美激情| 亚洲欧美激情插| 国产精品久久久久久户外露出| 久久在线观看免费| 精品国产一区二区三区忘忧草| 日韩精品一区二区三区三区免费 | 精品国产亚洲在线| 精品噜噜噜噜久久久久久久久试看| 丝袜美腿成人在线| 天天综合天天做天天综合| 亚洲成人激情综合网| 午夜av电影一区| 欧美aa在线视频| 精品一区中文字幕| 国产iv一区二区三区| 波多野结衣亚洲| 欧美色图免费看| 精品奇米国产一区二区三区| 久久蜜臀精品av| 亚洲欧美成aⅴ人在线观看| 亚洲成在线观看| 久久99热狠狠色一区二区| 成人动漫中文字幕| 在线一区二区三区四区五区 | 精品免费国产一区二区三区四区| 久久久久久久综合狠狠综合| **性色生活片久久毛片| 激情综合网av| 亚洲高清一区二区三区| 免费在线成人网| 色琪琪一区二区三区亚洲区| 91精品福利在线一区二区三区| 久久婷婷国产综合国色天香| 国产精品传媒在线| 国产乱子伦视频一区二区三区| 91美女视频网站| 久久久久久久久久电影| 三级欧美韩日大片在线看| 成人av网站在线| 国产亚洲欧洲997久久综合| 午夜视黄欧洲亚洲| 在线一区二区三区做爰视频网站| 久久久久久久精| 久久国产成人午夜av影院| 欧美日韩精品综合在线| 亚洲一区二区四区蜜桃| 97精品久久久久中文字幕| 久久精品欧美一区二区三区麻豆 | 国产精品毛片久久久久久|