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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? cwtpinitiator.java

?? jwap 協(xié)議 udp 可以用于手機(jī)通訊
?? JAVA
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
                  segdata.write(res.getPayload());                } catch (IOException e) {                  logger.warn("Exception writing to ByteArrayOutputStream",e);                }                nextState=STATE_RESULT_WAIT; // We will wait for more to come              }              setState(nextState);              // if !holdOn generate TR_Invoke.cnf              if(!holdOn) {                upperLayer.tr_process(                  new CWTPEvent(pdu.getPayload(), CWTPEvent.TR_INVOKE_CNF));              }              if( !res.getTTR() && res.getGTR() ) {                byte payload[] = new byte[2];                CWTPAck ack = new CWTPAck(sendTID);                payload[0] = (0x03 << 3) | 0x01; // psn, one byte length                payload[1] = 0; // Implicit sequence number 0                ack.setCON(true); // headers follow ;)                ack.setPayload(payload);                if(logger.isDebugEnabled()) {                    logger.debug("sending ack:" + ack.toString());                }                wtpSocket.send(ack);              }              if( nextState != STATE_RESULT_WAIT ) {                // generate tr_result.ind                upperLayer.tr_process(                  new CWTPEvent(pdu.getPayload(), CWTPEvent.TR_RESULT_IND));              }              // restart ack timer              a_timer.restart();            }            else if (pdu.getPDUType() == CWTPPDU.PDU_TYPE_SEGM_RESULT) {              logger.debug("Segmented result");              boolean sendAck = false;              boolean sendToUpper = false;              CWTPSegmResult sres = (CWTPSegmResult) pdu;              w_timer.restart();              a_timer.restart();              if (sres.getTID() != segTID) {                logger.warn("Dumping out-of sync segment from outer space!");                return;              }              if (seglast + 1 == sres.getPSN()) {                // we are in line with stuff                seglast = sres.getPSN();                try {                  segdata.write(sres.getPayload());                } catch (IOException e) {                  logger.warn("Exception writing to ByteArrayOutputStream",e);                }                if (sres.getGTR()) {                  logger.debug("Last packet of packet group");                  // ==> ttr must be 0  -> end of group                  sendAck = true;                } else if (sres.getTTR()) {                  logger.debug("Last packet of message");                  // EOF :)                  sendAck = true;                  sendToUpper = true;                  setState(STATE_RESULT_RESP_WAIT);                } //else not last packet...              } else {                logger.warn(                  "LOST PACKET - last "                    + seglast                    + " current psn "                    + sres.getPSN());                // @todo: send NACK              }              if (sendAck) {                byte payload[] = new byte[2];                CWTPAck send = new CWTPAck(sendTID);                payload[0] = (0x03 << 3) | 0x01; // psn, one byte length                payload[1] = (byte) (0x7f & sres.getPSN());                send.setCON(true); // headers follow ;)                send.setPayload(payload);                if(logger.isDebugEnabled()) {                    logger.debug("sending ack:" + send.toString());                }                wtpSocket.send(send);              }              if (sendToUpper) {                byte[] payload = segdata.toByteArray();                upperLayer.tr_process(new CWTPEvent(payload, CWTPEvent.TR_RESULT_IND));                segdata = null;                segend = 0;              }            }            break;        ///////////////////// RESULT RESP WAIT //////////////////////////////////        case 0x02:            // RcvAbort in RESULT RESP WAIT            if (pdu.getPDUType() == CWTPPDU.PDU_TYPE_ABORT) {                short abortReason = ((CWTPAbort) pdu).getAbortReason();                close(abortReason);                upperLayer.tr_abort(abortReason);                setState(STATE_NULL);            }            // RcvResult in RESULT RESP WAIT            else if (pdu.getPDUType() == CWTPPDU.PDU_TYPE_RESULT) {                logger.debug("blp");                setState(STATE_RESULT_RESP_WAIT);                // RcvSegmResult in RESULT RESP WAIT            } else if (pdu.getPDUType() == CWTPPDU.PDU_TYPE_SEGM_RESULT) {                logger.debug("XXXXXX blpseg");                setState(STATE_RESULT_RESP_WAIT);            }            break;        ///////////////////// WAIT TIMEOUT //////////////////////////////////////        case 0x03:            // RcvAbort in WAIT TIMEOUT            if (pdu.getPDUType() == CWTPPDU.PDU_TYPE_ABORT) {                short abortReason = ((CWTPAbort) pdu).getAbortReason();                close(abortReason);                upperLayer.tr_abort(abortReason);                setState(STATE_NULL);            }            // RcvResult in WAIT TIMEOUT            else if (pdu.getPDUType() == CWTPPDU.PDU_TYPE_RESULT) {                if (pdu.getRID()) {                    /** @todo input TPI exitinfo if available - page 54 **/                    CWTPAck send = new CWTPAck(sendTID);                    wtpSocket.send(send);                    setState(STATE_WAIT_TIMEOUT);                } else {                    setState(STATE_WAIT_TIMEOUT);                }            }            break;        ///////////////////// WAIT ACK WHILE SEGMENTATION SENDING ////////////////        case 0x04:            // rcvAck in STATE_WAIT_ACK            if (pdu.getPDUType() == CWTPPDU.PDU_TYPE_ACK) {                //re-initialize re-sending counter                s_timer.stop();                segment_sended = 1;                segment = null;                // send next segment                pdu = (CWTPPDU) (sentPDU.getSegments().elementAt(segmentIndex));                wtpSocket.send(pdu);                segmentIndex++;                // last segment sent                if (sentPDU.getSegments().size() == segmentIndex) {                    segmentIndex = 0;                    if ((classType == 1) | (classType == 2)) {                        // start timer to re-send whole message                        r_timer.restart();                        setState(STATE_RESULT_WAIT);                    } else if (classType == 0) {                        setState(STATE_NULL);                        close((short) 0x00);                    }                }                // not last segment                else {                    // save segment for re-sending                    segment = pdu;                    // start timer to re-send segment                    s_timer.restart();                }            }            break;        }    }    /**     * Invoked by higher layers to process given service primitives     * according to state machine described in section 9.5.<br>     * <b>Notice:</b> Only WTP Initiator is implemented!     *     * @param p the Service Primitive to be processed     */    public synchronized void process(CWTPEvent p) throws EWTPAbortedException {        if (aborted) {            throw new EWTPAbortedException(abortCode);        }        if (logger.isDebugEnabled()) {            logger.debug("process(CWTPEvent p)" + sendTID + ": " + CWTPEvent.types[p.getType()] +                " in " + states[state]);        }        switch (state) {        ///////////////////// STATE NULL /////////////////////////////////////////        case 0x00:            // TR-INVOKE.REQ            // some things do do when receiving a TR-Invoke            // were already done in the constructor - so please see there!            if (p.getType() == CWTPEvent.TR_INVOKE_REQ) {                if (((classType == 1) | (classType == 2)) && uack) {                    CWTPInvoke send = new CWTPInvoke(p.getUserData(), sendTID,                            classType);                    wtpSocket.addTransaction(this);                    wtpSocket.send(send);                    sentPDU = send;                    this.rcr = 0;                    r_timer.restart();                    setState(STATE_RESULT_WAIT);                } else if (((classType == 1) | (classType == 2)) && !uack) {                    CWTPInvoke send = new CWTPInvoke(p.getUserData(), sendTID,                            classType);                    wtpSocket.addTransaction(this);                    wtpSocket.send(send);                    sentPDU = send;                    this.rcr = 0;                    // do we have to segmentate?                    if (!send.getTTR()) {                        setState(STATE_WAIT_ACK);                    } else {                        r_timer.restart();                        setState(STATE_RESULT_WAIT);                    }                } else if (classType == 0) {                    CWTPInvoke send = new CWTPInvoke(p.getUserData(), sendTID,                            classType);                    wtpSocket.addTransaction(this);                    wtpSocket.send(send);                    // do we have to segmentate?                    if (!send.getTTR()) {                        sentPDU = send;                        setState(STATE_WAIT_ACK);                    } else {                        setState(STATE_NULL);                        close((short) 0x00);                    }                }            }             //end TR-INVOKE.REQ            break;        //////////////////// STATE RESULT WAIT ///////////////////////////////////        case 0x01:            break;        ///////////////////// STATE RESULT RESP WAIT /////////////////////////////        case 0x02:            // TR-Result.res            if (p.getType() == CWTPEvent.TR_RESULT_RES) {                if (p.getExitInfo().length != 0) {                    CWTPAck send = new CWTPAck(sendTID);                    /** @todo input TPI exitinfo into "send" - page 54 top **/                    wtpSocket.send(send);                    w_timer.restart();                    setState(STATE_WAIT_TIMEOUT);                } else {                    CWTPAck send = new CWTPAck(sendTID);                    wtpSocket.send(send);                    w_timer.restart();                    setState(STATE_WAIT_TIMEOUT);                }            }             // end TR-Result.res            break;        ///////////////////// STATE WAIT TIMEOUT /////////////////////////////////        case 0x03:            break;        }    }    public void process(EWTPCorruptPDUException e) {        if (state != STATE_NULL) {            CWTPAbort send = new CWTPAbort(e.getTid());            send.setAbortReason(CWTPAbort.ABORT_REASON_PROTOERR);            wtpSocket.send(send);            close(CWTPAbort.ABORT_REASON_PROTOERR);            upperLayer.tr_abort(CWTPAbort.ABORT_REASON_PROTOERR);            setState(STATE_NULL);        }    }    /**     * use this method to invoke a TR-ABORT.REQ by the upper Layer     */    public void abort() {        abort(CWTPAbort.ABORT_REASON_UNKNOWN);    }    /**     * use this method to invoke a TR-ABORT.REQ by the upper Layer     */    public void abort(short abortReason) {        // TR-ABORT.REQ        if ((state == 0x01) || (state == 0x02) || (state == 0x03)) {            if(logger.isDebugEnabled()) {                logger.debug("" + sendTID + ": TR-ABORT.REQ Reason: " +                    abortReason);            }            CWTPAbort send = new CWTPAbort(sendTID);            send.setAbortReason(abortReason);            wtpSocket.send(send);            close(abortReason);        }    }    public void close(short reasonCode) {        abortCode = reasonCode;        aborted = true;        r_timer.stop();        w_timer.stop();        a_timer.stop();        setState(STATE_NULL);        wtpSocket.removeTransaction(this);    }    //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    //XXXXXXXXXXXXXXXXXXXXXX SET/GET XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    /*      public boolean getAckType(){        return uack;      }      public void setAckType(boolean ackType){        uack = ackType;      }      public IWTPUpperLayer getUpperLayer(){        return upperLayer;      }    */    public int getTID() {        return sendTID;    }    public void setClassType(byte classType) throws IllegalArgumentException {        if ((classType == 1) | (classType == 2) | (classType == 0)) {            this.classType = classType;            return;        } else {            throw new IllegalArgumentException("Class Type has to be 1, 2 or 3");        }    }    public byte getClassType() {        return classType;    }    private void setState(byte state) {        //if (debug){        //  log.log(0, this, "" + sendTID + ": " + states[this.state] + " >>> " + states[state]);        //}        this.state = state;    }    public boolean isAborted() {        return aborted;    }    public short getAbortCode() {        return abortCode;    }    //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX    /**     * Static method, that generates a new (unique) Transaction ID     * by incrementing genTID     *     * @return A new unique Transaction ID     */    private static synchronized int generateNewTID() {        if (genTID == -1) {            Random r = new Random();            genTID = Math.abs(r.nextInt() % 255);        }        int result = genTID;        if (genTID == 255) {            genTID = 0;        } else {            ++genTID;        }        return result;    }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线视频精品一区| 国内精品久久久久影院薰衣草| 国产精品综合二区| 欧美亚洲愉拍一区二区| 欧美激情自拍偷拍| 男女男精品视频网| 欧美在线高清视频| 中文字幕一区二区三区蜜月| 狠狠色丁香久久婷婷综合丁香| 欧美精品久久一区| 亚洲一区在线观看视频| www.亚洲人| 久久久久99精品一区| 蜜桃视频一区二区| 欧美电影影音先锋| 亚洲一区二区在线视频| 91在线小视频| 国产精品久久久久久久久免费丝袜 | 精品捆绑美女sm三区| 香蕉乱码成人久久天堂爱免费| 99久久99久久综合| 中文字幕乱码久久午夜不卡| 国产在线不卡一卡二卡三卡四卡| 日韩一区二区三区视频| 亚洲成人中文在线| 欧美伊人久久久久久久久影院| 国产精品久久久久影院亚瑟 | 免费人成精品欧美精品| 欧美日韩一区二区三区高清| 一区二区三区四区视频精品免费| 成人激情动漫在线观看| 久久久久久久久久久久久久久99 | 福利电影一区二区三区| 久久亚洲免费视频| 久久精品99国产精品日本| 欧美一区二区精品| 美日韩一区二区三区| 91精品国产乱码久久蜜臀| 亚洲国产精品影院| 欧美色手机在线观看| 亚洲午夜精品一区二区三区他趣| 欧美亚洲精品一区| 亚洲国产一区视频| 欧美丰满高潮xxxx喷水动漫| 日韩高清国产一区在线| 日韩欧美在线一区二区三区| 麻豆精品国产91久久久久久| 日韩一区二区电影| 精品一区二区在线免费观看| 精品捆绑美女sm三区| 国产精品12区| 国产精品国产精品国产专区不片 | 国产露脸91国语对白| 国产婷婷精品av在线| 不卡影院免费观看| 亚洲精品少妇30p| 欧美日本在线看| 日韩中文字幕麻豆| 欧美xxxxx牲另类人与| 国产精品一区二区三区四区| 国产精品网站在线| 色哟哟精品一区| 日韩在线一区二区| 精品久久久久av影院| 国产成人av电影在线| 亚洲欧洲综合另类| 8v天堂国产在线一区二区| 激情深爱一区二区| 亚洲欧洲av在线| 欧美丝袜丝交足nylons| 久久99国产精品久久| 中文字幕欧美三区| 欧美系列在线观看| 久久66热re国产| 国产精品久久久久影院亚瑟 | 国产精品自拍av| 亚洲欧美怡红院| 欧美日韩精品高清| 韩日精品视频一区| 亚洲欧洲日韩综合一区二区| 欧美高清视频www夜色资源网| 韩国精品久久久| 亚洲精品亚洲人成人网在线播放| 正在播放亚洲一区| 国产精华液一区二区三区| 亚洲精品高清在线| 26uuu久久天堂性欧美| 色哟哟精品一区| 韩国成人在线视频| 亚洲综合色在线| 久久久美女毛片| 在线观看欧美日本| 久久99国产乱子伦精品免费| 亚洲精选一二三| 久久亚洲综合色一区二区三区| 91网站在线播放| 秋霞成人午夜伦在线观看| 国产精品网站在线播放| 91精品国产综合久久精品麻豆| 成人午夜电影久久影院| 亚洲一区二区三区免费视频| 国产午夜精品理论片a级大结局 | 一本久久a久久精品亚洲| 免费看黄色91| 亚洲免费在线看| 欧美精品一区视频| 欧美午夜精品一区二区三区| 国产精品99久久久久久似苏梦涵| 亚洲午夜影视影院在线观看| 亚洲国产精品激情在线观看| 6080国产精品一区二区| 99久久精品国产导航| 国产一区二区三区精品视频| 亚洲va中文字幕| 亚洲色图一区二区| 久久久美女艺术照精彩视频福利播放| 欧美日韩一区视频| 91麻豆文化传媒在线观看| 精品一区二区三区久久| 亚洲成人av福利| 亚洲乱码国产乱码精品精98午夜 | 亚洲国产精品一区二区www| 欧美国产精品劲爆| 欧美一区二区三区影视| 欧美亚洲一区二区在线| 99re热视频精品| 国产成人精品免费网站| 狠狠色狠狠色综合系列| 日本成人在线一区| 亚洲国产裸拍裸体视频在线观看乱了 | 在线播放中文一区| 日本道免费精品一区二区三区| 成人激情动漫在线观看| 国产精选一区二区三区| 看国产成人h片视频| 三级亚洲高清视频| 亚洲五月六月丁香激情| 亚洲桃色在线一区| 一区精品在线播放| 国产精品日韩成人| 国产嫩草影院久久久久| 精品国免费一区二区三区| 日韩一区二区三| 3d动漫精品啪啪| 5566中文字幕一区二区电影| 欧美久久久影院| 欧美日韩免费观看一区三区| 欧美在线免费观看视频| 91久久奴性调教| 色拍拍在线精品视频8848| 91蝌蚪porny| 91美女视频网站| 91国产福利在线| 欧美影院精品一区| 欧美午夜在线观看| 欧美日韩另类一区| 欧美久久婷婷综合色| 91精品国产91久久久久久一区二区 | 91麻豆精品国产自产在线观看一区 | 日韩欧美黄色影院| 欧美zozo另类异族| 久久久久久一二三区| 久久久亚洲高清| 国产精品入口麻豆原神| 日韩一区中文字幕| 亚洲精品第一国产综合野| 亚洲一区二区不卡免费| 午夜欧美一区二区三区在线播放| 日韩精品三区四区| 久久精品国产精品青草| 国产一区二区美女诱惑| 高清国产一区二区| 99久久99精品久久久久久| 一本大道久久精品懂色aⅴ| 欧美影视一区在线| 欧美一区二区三区视频在线观看| 精品国产乱码久久久久久久 | 日韩免费看网站| 国产女主播视频一区二区| 一区精品在线播放| 亚洲午夜免费电影| 久久国产精品露脸对白| 国产乱子轮精品视频| 成人国产精品免费| 欧美亚洲综合久久| 精品欧美一区二区三区精品久久| 国产日韩亚洲欧美综合| 亚洲男人电影天堂| 免费看日韩精品| 成人午夜在线免费| 欧美系列亚洲系列| 精品久久免费看| 亚洲欧美成人一区二区三区| 午夜精品一区二区三区电影天堂 | 久久福利视频一区二区| 成人午夜精品一区二区三区| 欧美日韩免费视频| 久久久久成人黄色影片| 亚洲综合成人在线视频| 国产在线国偷精品产拍免费yy |