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

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

?? inoutbuffer.java

?? 手機郵箱撒的方式方式方式的
?? JAVA
字號:
/*MujMail - Simple mail client for J2MECopyright (C) 2003 Petr Spatka <petr.spatka@centrum.cz>Copyright (C) 2005 Pavel Machek <pavel@ucw.cz>Copyright (C) 2006 Nguyen Son Tung <n.sontung@gmail.com>This program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */package mujmail.connections;import java.io.IOException;import mujmail.util.Functions;import mujmail.Settings;import mujmail.MyException;/**  * Special (autofilling) character oriented buffer. * <p> * Note: Used by ConnectionCompressed */public class InOutBuffer {    // Note no synchronisation done, synchronisation have to be ensured by higher level    // No parallel access into Out* methods a no parallel access into In* methods        /** Buffer that holds data to send */    private byte[] outBuff = null;    /** Position with first empty char in buffer */    private int outPos = 0;    /** Buffer that hold recieved data */    private byte[] inBuff = null;    /** Position in input buffer */    private int inPos = 0;    /** Number of recieved data in buffer      * Index just behind last valid byte in buffer */    private int inRecieved = 0;        /** Interface where flushes data from buffer */    private ConnectorInterface connector;    /** Counter of send data .. out direction */    private int send = 0;    /** Counder of recieved data ... in direction */    private int recieved = 0;        /**      * Constant that signal that at given position in buffer,     *  there are no buffered data.     * <p>     * See {@link #InLookInBuffer}.     */     public static final int NO_DATA_IN_BUFFER = -1;        /**      * Created buffer     * @param bufferLen size of buffer for datas     * @param reciever connector used for sending and retrieving data if buffer is full or empty     */    public InOutBuffer(int bufferLen, ConnectorInterface reciever) {        outBuff = new byte[bufferLen];        inBuff = new byte[bufferLen];        connector = reciever;    }        /**     * Append char into buffer. If buffer full, flushes buffer     * @param data Byte to append     */    public void OutAddByte(byte data) throws IOException {        send++;        outBuff[outPos++] = data;        if (outPos == outBuff.length) OutFlush();    }    /**      * Flushes buffer output data into connector (send them out)     */    public void OutFlush() throws IOException {        connector.write(outBuff,0,outPos);        outPos = 0;    }    /**      * Is used for getting data from incomming buffer      *  @return Get next byte from buffer, if no available it try to fill buffer automaticaly (can take long time)     *          Shifts buffer position     */    public byte InGetByte() throws MyException {        if (inPos < inRecieved) { // Byte available in buffer            recieved++;            return inBuff[inPos++];        }        // Try to fill buffer        try {             InFillBuffer(true);        } catch (IOException e) {            e.printStackTrace();            e.getMessage();            e.toString();            throw new MyException(MyException.COM_IN, e);        }        if (inPos < inRecieved) { // Byte available in buffer            recieved++;            return inBuff[inPos++];        }        // After reading no new data --> timeout        throw new MyException(MyException.COM_TIMEOUT);    }        /**      * Read new fresh data into buffer     *      * @param wait False signalize that if no data available than no wait and      *          end immedaitely with no new data in buffer.     * @throws mujmail.MyException     * @throws java.io.IOException     */    public void InFillBuffer(boolean wait) throws MyException, IOException {        if (inPos >= inRecieved) { // No data available            inPos = 0;            inRecieved = 0;        }        // RLE Hack -- rle needs see at least two byte forward        // if only one byte avail, copy them into begin of buffer and fill        if (inPos + 1 == inRecieved) {            for(int i = 0; i < 1; i++) {                inBuff[i] = inBuff[inPos + i];            }            inPos = 0;            inRecieved = 1;        }        // Check if place for dataReading        if (inBuff.length <= inRecieved)             return; // No place for new data and some data are still in buffer                // Filling begin        int timeout = 0;        int len = 0;        if (connector.available_bug()) {            if (wait == false) return; // No wait how to not block            while ((len = connector.read(inBuff, inRecieved, inBuff.length - inRecieved)) <= 0) {                if (len == -1) { // End of stream reached                    throw new MyException(MyException.COM_HALTED);                }                if (timeout > Settings.timeout) {                    throw new MyException(MyException.COM_TIMEOUT);                }                Functions.sleep(100);                timeout += 100;            }        } else { // No avail bug            int max;            while ((max = connector.available()) == 0) { //wait until get some data from server                if (max == -1) { // End of stream reached                    throw new MyException(MyException.COM_HALTED);                }                if (timeout > Settings.timeout) {                    throw new MyException(MyException.COM_TIMEOUT);                }                if (wait == false) return;                Functions.sleep(100);                timeout += 100;            }            if (max > inBuff.length - inRecieved) {                max = inBuff.length - inRecieved;            }            len = connector.read(inBuff, inRecieved, max);            if (len == -1) { // End of stream reached                throw new MyException(MyException.COM_HALTED);            }        }        // Data readed actualize buffer counters        inRecieved += len;    }        /**      * Get's value from incomming buffer. Doesn't change buffer state or fill buffer.     *  @param shift Position in buffer from current position you want access     *  @return Byte from buffer or NO_DATA_IN_BUFFER if no such data in buffer      *              (reading behing end of buffer or before start)     */    public int InLookInBuffer(int shift) {        int pos = inPos + shift;        if (pos < 0 || pos >= inRecieved)            return NO_DATA_IN_BUFFER;        return inBuff[pos];    }        /**      * Clears buffer by removing all buffered characters      */    public void InSkipBuffer() {        inPos = inRecieved;    }       /**      * Change internal connector that is used for filling buffers      * and sending data.     * @param newCi New connector to use.     */    public void changeConnector( ConnectorInterface newCi) {        connector = newCi;    }        /**      * Gets number of bytes available in buffer.     *      * @return Get count bytes currently available in buffer.     */    public int getBufferedInputBytesCount() {        return inRecieved - inPos;    }    /**      *  Reads buffer data from buffer, but this call can make buffer empty.      *  No internal filling of buffer is done     *  @return next byte in buffer. -1 of bufferEmpty     *  Note: Is used by PreBufferInputStream     */    public int getByteNoFill() {        if (inPos < inRecieved) { // Byte available in buffer            recieved++;            return inBuff[inPos++];        }        return -1;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产免费视频| 国产成都精品91一区二区三| 国产女同性恋一区二区| 精品国产精品一区二区夜夜嗨| 欧美在线影院一区二区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产精品丝袜久久久久久app| 久久久亚洲国产美女国产盗摄| 亚洲精品在线三区| 国产欧美一区二区精品性色超碰 | 久久国产日韩欧美精品| 久久se精品一区精品二区| 理论电影国产精品| 国产精品99久久久久久似苏梦涵 | 精品久久五月天| 日本一区二区三区国色天香| 中文字幕一区视频| 亚洲一区欧美一区| 日韩av一区二区在线影视| 久久成人麻豆午夜电影| 国产精品综合在线视频| 色8久久人人97超碰香蕉987| 欧美三级资源在线| 日韩欧美在线综合网| 国产欧美视频一区二区三区| 亚洲欧美二区三区| 欧美aaaaaa午夜精品| 成人av免费在线| 91精品免费观看| 国产欧美日韩在线看| 亚洲国产三级在线| 国产乱码精品一品二品| 91免费精品国自产拍在线不卡| 欧美影片第一页| 久久久蜜臀国产一区二区| 一区二区三区在线免费播放| 精品一区二区三区香蕉蜜桃| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美午夜精品一区二区三区| 91在线观看视频| 欧美性一级生活| 免费不卡在线观看| 成人av电影在线网| 欧美人狂配大交3d怪物一区| 欧美精品一区二区不卡| 亚洲欧洲av在线| 精品亚洲成a人在线观看| 日本久久精品电影| 亚洲国产精品精华液2区45| 亚洲私人黄色宅男| 国产高清精品在线| 日韩一二三区不卡| 亚洲高清在线视频| 春色校园综合激情亚洲| 欧美精品一区视频| 午夜精品久久久久久久久久久| 成人激情小说乱人伦| 精品欧美黑人一区二区三区| 性做久久久久久免费观看| 成人av网站免费观看| 国产日韩精品一区二区浪潮av| 免费av成人在线| 91精品国产日韩91久久久久久| 亚洲靠逼com| 色综合久久久久综合体| 亚洲欧洲成人自拍| jizz一区二区| 国产精品久久福利| 丰满岳乱妇一区二区三区| 久久天天做天天爱综合色| 美国欧美日韩国产在线播放| 91精品国模一区二区三区| 亚洲国产日产av| 欧美精品一级二级三级| 一区二区欧美精品| 欧美日韩成人一区二区| 亚洲国产色一区| 欧美久久一二三四区| 亚洲国产va精品久久久不卡综合| 91国偷自产一区二区使用方法| 国产精品免费视频网站| 成人av资源在线| 国产精品久久久久精k8| 日本高清成人免费播放| 婷婷综合在线观看| 日韩免费高清av| 国产成人av在线影院| 亚洲欧美偷拍卡通变态| 欧洲激情一区二区| 日韩和欧美一区二区| 日韩欧美区一区二| 国产91富婆露脸刺激对白| 国产欧美日韩在线视频| 不卡大黄网站免费看| 一区二区三区四区蜜桃| 日韩丝袜情趣美女图片| 国产精品99久| 亚洲制服丝袜一区| 精品国精品国产尤物美女| 国产精品18久久久久久vr| 国产精品久久精品日日| 欧美亚洲国产一区二区三区va | 亚洲无人区一区| 欧美喷水一区二区| 狠狠狠色丁香婷婷综合激情 | 欧美日韩午夜在线视频| 麻豆极品一区二区三区| 国产精品天干天干在观线| 色婷婷av一区二区三区gif| 舔着乳尖日韩一区| 国产欧美精品一区aⅴ影院| 色就色 综合激情| 精品一区二区日韩| 亚洲精品乱码久久久久久日本蜜臀| 欧美日韩免费观看一区三区| 国产精品主播直播| 亚洲国产精品久久不卡毛片| 久久久久久久久久久99999| 在线国产亚洲欧美| 国产一区二区三区免费观看| 伊人婷婷欧美激情| 中文字幕在线一区| 精品不卡在线视频| 7777女厕盗摄久久久| 99国产精品国产精品久久| 久久疯狂做爰流白浆xx| 亚洲一二三区视频在线观看| 亚洲国产精品二十页| 日韩欧美国产一二三区| 日本精品裸体写真集在线观看| 成人一区二区三区视频 | 自拍视频在线观看一区二区| 日韩无一区二区| 91精品国产色综合久久久蜜香臀| 99re热这里只有精品免费视频| 国产精品一区久久久久| 人人狠狠综合久久亚洲| 偷窥国产亚洲免费视频| 亚洲一区二区欧美日韩 | 久久国产综合精品| 亚洲国产色一区| 亚洲一级电影视频| 亚洲午夜在线观看视频在线| 一区二区三区在线免费视频 | 久久国产剧场电影| 美女被吸乳得到大胸91| 日韩中文字幕一区二区三区| 一二三四社区欧美黄| 成人欧美一区二区三区视频网页| 国产精品系列在线| 综合色中文字幕| 一级做a爱片久久| 亚洲与欧洲av电影| 亚洲高清免费观看| 日日摸夜夜添夜夜添精品视频 | 精品福利二区三区| 日韩精品中午字幕| 精品欧美乱码久久久久久1区2区| 欧美大白屁股肥臀xxxxxx| 欧美刺激午夜性久久久久久久| 日韩一二在线观看| 久久亚洲影视婷婷| 国产欧美一区二区精品性色超碰| 精品日产卡一卡二卡麻豆| 精品成a人在线观看| 国产午夜亚洲精品羞羞网站| 国产拍揄自揄精品视频麻豆| 国产精品麻豆一区二区| 亚洲欧美aⅴ...| 亚洲猫色日本管| 亚洲电影在线播放| 久久精品国产精品亚洲精品| 国产酒店精品激情| 91小视频免费看| 欧美一区二区三区视频在线观看| 精品国产99国产精品| 国产精品电影一区二区三区| 亚洲影视在线观看| 免费的成人av| av电影在线观看不卡| 欧美性videosxxxxx| 日韩欧美成人午夜| 国产日韩精品一区二区三区在线| 亚洲天堂av老司机| 秋霞午夜鲁丝一区二区老狼| 韩国av一区二区三区四区| 91污在线观看| 日韩欧美在线综合网| 中文字幕五月欧美| 天堂av在线一区| 成人av网址在线| 日韩三级中文字幕| 亚洲美女淫视频| 国产成人亚洲精品青草天美| 欧美午夜精品一区二区蜜桃| 久久影院视频免费| 午夜精品久久久久久久99水蜜桃| 国产成人午夜视频| 制服丝袜亚洲播放| 亚洲激情av在线|