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

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

?? simplereplicamanager.java

?? 中間件開發(fā)詳細(xì)說明:清華大學(xué)J2EE教程講義(ppt)-Tsinghua University J2EE tutorial lectures (ppt) [上載源碼成為會(huì)員下載此源碼] [成為VIP會(huì)
?? JAVA
?? 第 1 頁 / 共 3 頁
字號(hào):
    }    /**     * Manages the response of the Replica Catalogue to a delete request. If the     * delete request is successful the file is deleted from the storage(s) on     * the resource. A success/error message is sent to the user.     *     * @param ev    a Sim_event object     */    private void processDeleteResult(Sim_event ev, boolean isMaster) {        if (ev == null) {            return;        }        Object[] pack = (Object[]) ev.get_data();        if (pack == null) {            return;        }        String filename = (String) pack[0]; // get file name        int msg = ((Integer) pack[1]).intValue(); // get result        // replica request        int successTag = DataGridTags.CTLG_DELETE_REPLICA_SUCCESSFUL;        int sendTag = DataGridTags.FILE_DELETE_REPLICA_RESULT;        ArrayList eventList = filesWaitingForDeleteACK_;        // master request        if (isMaster == true) {            successTag = DataGridTags.CTLG_DELETE_MASTER_SUCCESSFUL;            sendTag = DataGridTags.FILE_DELETE_MASTER_RESULT;            eventList = masterFilesWaitingForDeleteACK_;        }        // search this record from the waiting event list        Object[] dataTemp = searchEvent(filename, eventList);        if (dataTemp != null) {            if (msg == successTag) {                deleteFileFromStorage(filename, false, false);                msg = DataGridTags.FILE_DELETE_SUCCESSFUL;            }            eventList.remove(dataTemp); // remove this request from the list            // send the result back to sender            sendResult(filename, sendTag, msg, ((Integer) dataTemp[1])                    .intValue());        }    }    //  -------------------ADDITIONAL METHODS ------------------------------    /**     * Registers all files (as master files) present on the storage(s) when     * GridSim is started.     */    public void registerAllMasterFiles() {        DataGridResource res = (DataGridResource) Sim_system                .get_entity(super.resourceID_);        AbstractRC rc = null;        if (res.hasLocalRC() == true) {            rc = res.getLocalRC();        } else {            rc = (AbstractRC) Sim_system.get_entity(super.rcID_);        }        if (rc == null) {            System.out.println(super.get_name() + ".registerAllMasterFiles(): "                    + "Warning - unable to register master files to a Replica "                    + "Catalogue entity.");            return;        }        Storage tempStorage = null;        for (int i = 0; i < storageList_.size(); i++) {            tempStorage = (Storage) storageList_.get(i);            ArrayList fileList = (ArrayList) tempStorage.getFileNameList();            for (int j = 0; j < fileList.size(); j++) {                String filename = (String) fileList.get(j);                File file = tempStorage.getFile(filename); // get file                FileAttribute fAttr = file.getFileAttribute(); // get attribute                // register before simulation starts, hence no uniqueID                rc.registerOriginalFile(fAttr, super.resourceID_);            }        }    }    /**     * Registers one master file.     * @param file the master file to be registered     */    private void registerMasterFile(File file) {        // need to check whether this file is a master copy or not        if (file.isMasterCopy() == false) {            return;        }        FileAttribute fAttr = file.getFileAttribute();        Object[] data = new Object[3];        data[0] = file.getName(); // set the filename        data[1] = fAttr; // set the file's attribute        data[2] = super.resIdObj_; // set the resource ID        // send this info to the RC entity        int size = fAttr.getAttributeSize();        super.sim_schedule(outputPort_, 0, DataGridTags.CTLG_ADD_MASTER,                new IO_data(data, size, super.rcID_));    }    /**     * Sends an event with the result of adding or deleting a file back to the     * user.     *     * @param fileName     *            the name of the file that was added/deleted     * @param event     *            the event to be sent (e.g. FILE_ADD_RESULT)     * @param msg     *            the message to sent with it (e.g. FILE_ADD_SUCCESFUL)     * @param dest     *            the destination of the result     */    private void sendResult(String fileName, int event, int msg, int dest) {        // just a safety net        if (dest == -1) {            return;        }        // send back to sender        Object pack[] = new Object[2];        pack[0] = fileName;        pack[1] = new Integer(msg);        super.sim_schedule(outputPort_, GridSimTags.SCHEDULE_NOW, event,                new IO_data(pack, DataGridTags.PKT_SIZE, dest));    }    /**     * When a request is sent from the user, this request is saved to a list.     * And when a response is received from the Replica Catalogue this event has     * to be found in this list.     *     * @param name  of the file the event was all about.     * @param list  the list of event where it has to search.     * @return the event or <tt>null</tt> if empty     */    private Object[] searchEvent(String name, ArrayList list) {        for (int i = 0; i < list.size(); i++) {            Object[] dataTemp = (Object[]) list.get(i);            if (name.equals((String) dataTemp[0]) == true) {                return dataTemp;            }        }        return null;    }    /**     * Sets the unique ID of a file. When the uniqueID is returned by the     * Replica Catalogue, the file is renamed.     *     * @see SimpleReplicaManager#processMasterAddResult(Sim_event)     * @param fileName      the old name of the file.     * @param id            the unique ID assigned by the Replica Catalogue     * @return <tt>true</tt> if successful, <tt>false</tt> otherwise     */    private boolean setID(String fileName, int id) {        boolean result = false;        int i = 0;        File tempFile = null;        Storage tempStorage = null;        while ((i < storageList_.size()) && (tempFile == null)) {            tempStorage = (Storage) storageList_.get(i);            tempFile = tempStorage.getFile(fileName);            if (tempFile != null) {                tempFile.setRegistrationID(id); // set registration ID                String newName = tempFile.getName() + id;                tempStorage.renameFile(tempFile, newName); // rename filename                tempFile.setName(newName); // set the new lfn                result = true;            }            i++;        }        return result;    }    //----------------------DATA GRIDLET STUFF-------------------------------    /**     * Receives a DataGridlet object.     * In this approach, a DataGridlet requires n files. If one or more files     * are not available, then this RM will fetch them.     * Only if all files are available, then this DataGridlet is ready to     * be executed by a resource's scheduler.     *     * @param dg    a DataGridlet object     * @return <tt>true</tt> if successful, <tt>false</tt> otherwise.     */    private boolean receiveDataGridlet(DataGridlet dg) {        if (dg == null) {            return false;        }        // get a list of required files        LinkedList list = (LinkedList) (dg.getRequiredFiles()).clone();        int serviceLevel = dg.getNetServiceLevel(); // get priority        // for each file, check whether it is available or not        for (int i = 0; i < list.size(); i++) {            String filename = (String) list.get(i); // get file name            // if the file is already on the local storage, the            // transfer from a remote site is not needed            if (contains(filename) == true) {                dg.deleteRequiredFile(filename); // delete from the list            }            // if the file is not available, then make a replica request            else {                // if the file should have higher QoS                if (serviceLevel == 1) {                    priorityFile_.add(filename);                }                Object[] packet = new Object[2];                packet[0] = filename;                packet[1] = super.resIdObj_;                sim_schedule(outputPort_, 0, DataGridTags.CTLG_GET_REPLICA,                        new IO_data(packet, DataGridTags.PKT_SIZE, super.rcID_));            }        }        // if all files are available locally        if (dg.getRequiredFiles().size() == 0) {            dg.setResourceParameter(super.resourceID_, 0);            policy_.gridletSubmit(dg, false); // start executing this job        } else { // otherwise, put into the queue            waitingDataGridlet_.add(dg);        }        return true;    }    /**     * A location of the file is returned from the RC. This function sends a     * request for transfering the file. It also checks the network QoS for     * this file.     *     * @param ev    a Sim_event object     */    protected void receiveReplicaLocation(Sim_event ev) {        if (ev == null) {            return;        }        Object[] data = (Object[]) ev.get_data();        if (data == null) {            return;        }        String filename = (String) data[0]; // get file name        Integer resID = (Integer) data[1]; // get resource ID        // make a request to transfer the given filename        Object[] packet = new Object[3];        packet[0] = filename; // request for this file name        packet[1] = super.resIdObj_; // from this resource        // it is an urgent request        if (isPriorityFile(filename) == true) {            priorityFile_.remove(filename);            packet[2] = new Integer(1); // high priority over the network        } else {            packet[2] = new Integer(0); // normal priority over the network        }        super.sim_schedule(outputPort_, 0, DataGridTags.FILE_REQUEST,                new IO_data(packet, DataGridTags.PKT_SIZE, resID.intValue()));    }    /**     * A requested file has been delivered by another resource.     * @param file  a File object     * @return <tt>true</tt> if this delivery has been acknowledged,     *         <tt>false</tt> otherwise     */    protected boolean receiveFileDelivery(File file) {        if (file == null) {            return false;        }        // add the file into the storage        file.setMasterCopy(false); // set file as a replica        addFile(file);        for (int i = 0; i < waitingDataGridlet_.size(); i++) {            DataGridlet dg = (DataGridlet) waitingDataGridlet_.get(i);            dg.deleteRequiredFile(file.getName());            // if a job does not need any more files            if (dg.requiresFiles() == false) {                dg.setResourceParameter(super.resourceID_, 0);                policy_.gridletSubmit(dg, false); // execute this job                waitingDataGridlet_.remove(dg); // remove from waiting list            }        }        return true;    }    /**     * Checks whether the given file has a higher priority or not     * @param filename  a file name     * @return <tt>true</tt> if this file has a higher priority,     *         <tt>false</tt> otherwise     */    private boolean isPriorityFile(String filename) {        boolean result = false;        Iterator iter = priorityFile_.iterator();        while (iter.hasNext()) {            String name = (String) iter.next(); // get file name            if (name.equals(filename) == true) {                result = true;                break;            }        }        return result;    }} // end class

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕日韩av资源站| 狠狠色狠狠色综合系列| 免费高清在线一区| 丰满岳乱妇一区二区三区 | 国产成人午夜精品影院观看视频| 91麻豆国产福利在线观看| 精品国产免费视频| 午夜精品久久久久久久久久| 国产iv一区二区三区| 91精品国产色综合久久| 亚洲一区免费观看| 91麻豆免费看片| 国产婷婷色一区二区三区四区 | 色哟哟在线观看一区二区三区| 欧美大片免费久久精品三p| 性欧美疯狂xxxxbbbb| av在线播放不卡| 国产精品超碰97尤物18| 国产一区在线视频| 26uuu久久天堂性欧美| 免费视频一区二区| 欧美日韩一卡二卡| 亚洲6080在线| 欧美日韩在线播放三区| 亚洲一区视频在线| 欧美无乱码久久久免费午夜一区 | 欧美国产视频在线| 韩国欧美国产1区| 久久婷婷久久一区二区三区| 久久国产生活片100| 精品日韩一区二区三区| 久久不见久久见免费视频7| 日韩一区二区视频在线观看| 蜜臀av一区二区在线观看| 3d动漫精品啪啪一区二区竹菊 | 亚洲一区在线观看视频| 在线日韩一区二区| 一区二区三区四区蜜桃| 欧美三日本三级三级在线播放| 亚洲主播在线观看| 在线综合视频播放| 狠狠色综合播放一区二区| 久久久久久久综合| 97国产一区二区| 亚洲国产欧美在线| 欧美va亚洲va国产综合| 国内成人精品2018免费看| 亚洲国产精品精华液2区45| 99久久夜色精品国产网站| 亚洲精品一二三区| 欧美一区日韩一区| 国产精品1区二区.| 亚洲欧美区自拍先锋| 欧美久久久久中文字幕| 国产一区二区三区黄视频| 国产精品久久久久久久久久久免费看 | 国产午夜精品福利| 色综合久久久久网| 免费一区二区视频| 亚洲素人一区二区| 8v天堂国产在线一区二区| 国产精品影视网| 亚洲精品伦理在线| 精品少妇一区二区三区免费观看 | 韩国女主播一区| 日韩理论片在线| 欧美成人a∨高清免费观看| 粉嫩13p一区二区三区| 亚洲成av人片一区二区三区| 久久天堂av综合合色蜜桃网| 91久久精品一区二区| 紧缚奴在线一区二区三区| 亚洲素人一区二区| 亚洲精品一区二区三区影院| 色综合久久久久综合99| 国产一区久久久| 亚洲永久精品大片| 国产三级三级三级精品8ⅰ区| 欧美性猛交xxxx乱大交退制版| 国内不卡的二区三区中文字幕| 一区二区欧美国产| 国产肉丝袜一区二区| 这里只有精品电影| 91久久奴性调教| 大白屁股一区二区视频| 六月婷婷色综合| 亚洲成国产人片在线观看| 国产精品国产三级国产a| 欧美不卡在线视频| 欧美日本在线一区| 欧美这里有精品| 99re免费视频精品全部| 国产资源在线一区| 蜜桃av一区二区三区电影| 亚洲一区二区美女| 亚洲日本在线天堂| 国产精品天天摸av网| 欧美精品一区二区三区一线天视频| 在线观看视频一区二区欧美日韩| 成人爽a毛片一区二区免费| 国产一区二区三区久久悠悠色av| 日韩精品电影在线| 亚洲aⅴ怡春院| 午夜天堂影视香蕉久久| 亚洲一区二区三区四区五区黄| 亚洲欧美另类图片小说| 国产精品理论片| 中文字幕亚洲在| 亚洲人成影院在线观看| 综合中文字幕亚洲| 综合久久一区二区三区| 椎名由奈av一区二区三区| 国产精品欧美久久久久一区二区| 国产日产精品1区| 国产精品美女久久久久久| 日本一二三不卡| 国产精品电影一区二区| 1区2区3区国产精品| 亚洲精品日韩专区silk| 亚洲成在线观看| 美女国产一区二区三区| 国内偷窥港台综合视频在线播放| 国产一区二区视频在线| 国产福利一区在线| 91美女蜜桃在线| 欧美剧情电影在线观看完整版免费励志电影 | 91精品1区2区| 欧美高清你懂得| 日韩免费观看高清完整版在线观看| 欧美变态口味重另类| 国产视频在线观看一区二区三区| 中文字幕av在线一区二区三区| 国产精品天美传媒沈樵| 一区二区三区av电影| 青娱乐精品在线视频| 国产激情精品久久久第一区二区 | 中文字幕乱码日本亚洲一区二区| 亚洲欧美综合色| 婷婷久久综合九色综合绿巨人 | 欧美视频第二页| 精品国产乱码久久| 亚洲欧美日韩国产另类专区| 亚洲一级片在线观看| 久久国产精品一区二区| 成人美女视频在线看| 欧美丝袜第三区| 国产网站一区二区三区| 亚洲高清免费在线| 国产盗摄精品一区二区三区在线| 在线观看成人小视频| 久久综合九色综合欧美就去吻| 亚洲影视在线播放| 国产人妖乱国产精品人妖| 一区二区三区四区中文字幕| 另类综合日韩欧美亚洲| 99久久综合精品| 欧美mv和日韩mv国产网站| 又紧又大又爽精品一区二区| 国内国产精品久久| 欧美日韩欧美一区二区| 国产女人18毛片水真多成人如厕 | 国产精品久久精品日日| 日韩二区三区在线观看| 97se亚洲国产综合自在线| 日韩欧美在线影院| 亚洲综合男人的天堂| 国产成人av影院| 日韩美女主播在线视频一区二区三区 | 美女脱光内衣内裤视频久久网站 | 国产欧美精品区一区二区三区| 亚洲午夜激情av| av不卡在线播放| 国产亚洲综合色| 美脚の诱脚舐め脚责91| 欧美日韩在线精品一区二区三区激情| 欧美激情在线免费观看| 黑人巨大精品欧美黑白配亚洲| 欧美日韩高清一区二区三区| 一区在线中文字幕| 国产成人精品综合在线观看 | 97精品视频在线观看自产线路二| 26uuu亚洲综合色| 美女脱光内衣内裤视频久久网站 | 欧美日韩电影在线| 亚洲综合在线电影| 成人a免费在线看| 国产精品国产精品国产专区不片 | 激情综合亚洲精品| 欧美大片在线观看| 久久疯狂做爰流白浆xx| 日韩区在线观看| 麻豆中文一区二区| 日韩精品一区二区三区蜜臀| 秋霞电影网一区二区| 日韩免费观看高清完整版| 老司机精品视频在线| 精品国产一区a| 丰满亚洲少妇av| 国产精品久久久久久妇女6080| 成人激情小说乱人伦|