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

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

?? simplereplicamanager.java

?? 中間件開發詳細說明:清華大學J2EE教程講義(ppt)-Tsinghua University J2EE tutorial lectures (ppt) [上載源碼成為會員下載此源碼] [成為VIP會
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/* * Title:        GridSim Toolkit * Description:  GridSim (Grid Simulation) Toolkit for Modeling and Simulation *               of Parallel and Distributed Systems such as Clusters and Grids * Licence:      GPL - http://www.gnu.org/copyleft/gpl.html */package gridsim.datagrid;import gridsim.datagrid.storage.*;import gridsim.datagrid.index.*;import eduni.simjava.*;import gridsim.*;import java.util.*;/** * This is a class which contains the basic functionality of a Replica Manager * in a Data Grid. The current functionlity provided by this implementation * includes the following: * <ul> * <li> Adding a master file or a replica to the storage and register it to the * RC. * <li> Removing master and replica files from the storage and deregister from * RC. * <li> Sending requested files to users. * <li> Managing a {@link gridsim.datagrid.DataGridlet}, i.e. transferring the * neccessary files to the local storage and pass the gridlet to the * AllocationPolicy for execution. * </ul> *  * @author Uros Cibej and Anthony Sulistio * @since GridSim Toolkit 4.0 */public class SimpleReplicaManager extends ReplicaManager {    private ArrayList filesWaitingForAddACK_; // waiting list for add    private ArrayList filesWaitingForDeleteACK_; // waiting list for delete    private ArrayList masterFilesWaitingForAddACK_;    private ArrayList masterFilesWaitingForDeleteACK_;    private ArrayList priorityFile_;    // the list of all DataGridlets waiting to acquire the needed files    private ArrayList waitingDataGridlet_;    //  -------------------INITIALIZATION-------------------------------    /**     * Creates a new Replica Manager object     * @param name          the name to be associated with this entity     * @param resourceName  the name of the DataGrid resource     * @throws Exception This happens when one of the following scenarios occur:     *      <ul>     *          <li> creating this entity before initializing GridSim package     *          <li> the given name is <tt>null</tt> or empty     *      </ul>     * @see gridsim.GridSim#init(int, Calendar, boolean, String[], String[],     *          String)     */    public SimpleReplicaManager(String name, String resourceName)            throws ParameterException {        super(name, resourceName);        commonInit();    }    /** Initializes all attributes */    private void commonInit() {        super.storageList_ = new ArrayList();        filesWaitingForAddACK_ = new ArrayList();        filesWaitingForDeleteACK_ = new ArrayList();        masterFilesWaitingForAddACK_ = new ArrayList();        masterFilesWaitingForDeleteACK_ = new ArrayList();        waitingDataGridlet_ = new ArrayList();        priorityFile_ = new ArrayList();    }    //  -------------------STORAGE/FILE MANIPULATION METHODS------------------    /**     * Adds a file to the local storage. However, the file is not registered     * to the Replica Catalogue.     * <br>     * In this implementation, it looks through all the available     * storages if there is some space. It stores on the first storage that has     * enough space. In addition, we assume all files are read-only.     * Hence, existing files can not be overwritten.     *     * @param file  a file to be placed on the local resource     * @return an integer number denoting whether this operation is successful     *         or not     * @see gridsim.datagrid.DataGridTags#FILE_ADD_SUCCESSFUL     * @see gridsim.datagrid.DataGridTags#FILE_ADD_ERROR_STORAGE_FULL     */    protected int addFile(File file) {        // at the moment we assume all files are read only. To overwrite a file        // we use FILE_MODIFY        if (super.contains(file.getName()) == true) {            return DataGridTags.FILE_ADD_ERROR_EXIST_READ_ONLY;        }        // check storage space first        if (storageList_.size() <= 0) {            return DataGridTags.FILE_ADD_ERROR_STORAGE_FULL;        }        Storage tempStorage = null;        double time = 0;        int msg = DataGridTags.FILE_ADD_ERROR_STORAGE_FULL;        for (int i = 0; i < storageList_.size(); i++) {            tempStorage = (Storage) storageList_.get(i);            if (tempStorage.getAvailableSpace() >= file.getSize()) {                time = tempStorage.addFile(file);                msg = DataGridTags.FILE_ADD_SUCCESSFUL;                break;            }        }        return msg;    }    /**     * Adds a list of storage elements to the DataGrid resource     * @param storageList   a list of storage elements to be added     * @return <tt>true</tt> if successful, <tt>false</tt> otherwise     */    public boolean addStorage(List storageList) {        if (storageList == null) {            return false;        }        boolean result = false;        try {            storageList_.addAll(storageList);            result = true;        } catch (Exception e) {            result = false;        }        return result;    }    /**     * Adds a storage element to the DataGrid resource     * @param storage   the storage element to be added     * @return <tt>true</tt> if successful, <tt>false</tt> otherwise     */    public boolean addStorage(Storage storage) {        if (storage == null) {            return false;        }        storageList_.add(storage);        return true;    }    /**     * Deletes a file from the local storage, and registers     * the change to the designated Replica Catalogue.     * @param fileName  the filename of the file to be deleted.     * @return an integer number denoting whether this operation is successful     *         or not     * @see gridsim.datagrid.DataGridTags#FILE_DELETE_SUCCESSFUL     * @see gridsim.datagrid.DataGridTags#FILE_DELETE_ERROR_READ_ONLY     */    protected int deleteFile(String fileName) {        int msg = deleteFileFromStorage(fileName, false, false);        if (msg == DataGridTags.FILE_DELETE_SUCCESSFUL) {            msg = super.deregisterDeletedFile(fileName,                    DataGridTags.CTLG_DELETE_REPLICA);        }        return msg;    }    /**     * Deletes the file from the storage. Also, check whether it is     * possible to delete the file from the storage.     *     * @param fileName      the name of the file to be deleted     * @param deleteMaster  do we want to delete the master file or not     * @param justTest      <tt>true</tt> if you just want to test the file, or     *                      <tt>false</tt> if you want to actually delete it     * @return the error message as defined in     *         {@link gridsim.datagrid.DataGridTags}     * @see gridsim.datagrid.DataGridTags#FILE_DELETE_SUCCESSFUL     * @see gridsim.datagrid.DataGridTags#FILE_DELETE_ERROR_ACCESS_DENIED     * @see gridsim.datagrid.DataGridTags#FILE_DELETE_ERROR     */    private int deleteFileFromStorage(String fileName, boolean deleteMaster,            boolean justTest) {        Storage tempStorage = null;        File tempFile = null;        double time = 0;        int msg = DataGridTags.FILE_DELETE_ERROR;        for (int i = 0; i < storageList_.size(); i++) {            tempStorage = (Storage) storageList_.get(i);            tempFile = tempStorage.getFile(fileName);            if (tempFile != null) {                // if want to delete a master copy, then you can't                if (tempFile.isMasterCopy() == true && deleteMaster == false) {                    msg = DataGridTags.FILE_DELETE_ERROR_ACCESS_DENIED;                }                // if a file is a replica, but want to delete a master one                else if (tempFile.isMasterCopy() == false                        && deleteMaster == true) {                    msg = DataGridTags.FILE_DELETE_ERROR_ACCESS_DENIED;                } else {                    // if you want to actually delete this file                    if (justTest == false) {                        time = tempStorage.deleteFile(fileName, tempFile);                    }                    msg = DataGridTags.FILE_DELETE_SUCCESSFUL;                }            }        } // end for        return msg;    }    /**     * Gets a physical file based on its name     * @param fileName  the file name to be retrieved     * @return the physical file or <tt>null</tt> if not found     */    protected File getFile(String fileName) {        Storage tempStorage = null;        File tempFile = null;        for (int i = 0; i < storageList_.size(); i++) {            tempStorage = (Storage) storageList_.get(i);            tempFile = tempStorage.getFile(fileName);            if (tempFile != null) {                double time = tempFile.getTransactionTime();                break;            } else {                tempFile = null;            }        }        return tempFile;    }    //  -------------------MAIN METHODS FOR MANAGING EVENTS-------------------    /**     * The main method of the data manager, which is responsible for managing     * all the incoming events.     */    public void body() {        // a loop that is looking for internal events only        Sim_event ev = new Sim_event();        while (Sim_system.running()) {            super.sim_get_next(ev);            // if the simulation finishes then exit the loop            if (ev.get_tag() == GridSimTags.END_OF_SIMULATION) {                break;            }            processEvent(ev);        }        // CHECK for ANY INTERNAL EVENTS WAITING TO BE processed        while (super.sim_waiting() > 0) {            super.sim_get_next(ev);            System.out.println(super.get_name() + ".body(): Ignoring events");        }    }    /**     * Processes an incoming event     * @return <tt>true</tt> if successful, <tt>false</tt> otherwise     */    public boolean processEvent(Sim_event ev) {        boolean result = true;        File file = null;        switch (ev.get_tag()) {        //----USER REQUESTS------        case DataGridTags.FILE_ADD_MASTER:            processAddMasterFile(ev);            break;        case DataGridTags.FILE_DELETE_MASTER:            processDeleteMasterFile(ev);            break;        case DataGridTags.FILE_ADD_REPLICA:            processAddReplica(ev);            break;        case DataGridTags.FILE_DELETE_REPLICA:            processDeleteReplica(ev);            break;        case DataGridTags.FILE_REQUEST:            processFileRequest(ev);            break;        case DataGridTags.FILE_MODIFY:            System.out                    .println(super.get_name()                            + ".processOtherEvent(): FILE_MODIFY is not implemented yet");            break;        //------------CATALOGUE RESULTS/RESPONSES----------        case DataGridTags.CTLG_ADD_REPLICA_RESULT:            this.processCatalogueAddResult(ev);            break;        case DataGridTags.CTLG_DELETE_REPLICA_RESULT:            this.processCatalogueDeleteResult(ev);            break;        case DataGridTags.CTLG_ADD_MASTER_RESULT:            this.processMasterAddResult(ev);            break;        case DataGridTags.CTLG_DELETE_MASTER_RESULT:            processMasterDeleteResult(ev);            break;        case DataGridTags.FILE_DELETE_SUCCESSFUL:            this.processCatalogueDeleteResult(ev);            break;        //------------DATA GRIDLET STUFF----------        case DataGridTags.CTLG_REPLICA_DELIVERY:            receiveReplicaLocation(ev);            break;        case DataGridTags.DATAGRIDLET_SUBMIT:            DataGridlet dg = (DataGridlet) ev.get_data();            receiveDataGridlet(dg);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩成人综合在线一区二区| 日韩欧美一区二区久久婷婷| 伦理电影国产精品| 国内精品写真在线观看| 亚洲欧美日韩国产一区二区三区| 91麻豆精品国产自产在线| 成人福利在线看| 麻豆传媒一区二区三区| 亚洲一区二区影院| 欧美国产成人在线| 日韩美女视频一区二区在线观看| 日本乱人伦一区| 国产91精品入口| 久久er精品视频| 日韩电影在线看| 一区二区三区 在线观看视频| 国产亚洲一区二区三区四区 | 美腿丝袜亚洲三区| 洋洋成人永久网站入口| 国产精品国产三级国产aⅴ中文| 精品乱人伦小说| 欧美一区二区三区成人| 欧美色综合网站| av在线综合网| 成人手机电影网| 国产精品99久| 国产一区欧美一区| 狠狠狠色丁香婷婷综合激情| 日本午夜精品一区二区三区电影| 亚洲一区二区在线观看视频| 一区二区三区 在线观看视频| 中文字幕一区二区三中文字幕| 久久网站最新地址| 久久亚洲影视婷婷| 欧美精品一区二区久久久| 日韩免费观看2025年上映的电影| 欧美浪妇xxxx高跟鞋交| 欧美欧美午夜aⅴ在线观看| 一区二区三区高清在线| 日韩一区中文字幕| 最新日韩在线视频| 亚洲欧美一区二区三区孕妇| 最新热久久免费视频| 亚洲欧美偷拍三级| 一区二区三区在线视频免费| 亚洲自拍欧美精品| 婷婷六月综合亚洲| 麻豆精品国产91久久久久久| 乱一区二区av| 国产成人综合精品三级| 99精品偷自拍| 色噜噜狠狠成人网p站| 欧美网站一区二区| 91精品国产黑色紧身裤美女| 欧美一区二区成人6969| www激情久久| 欧美国产综合色视频| 亚洲欧美日韩一区二区| 一个色综合网站| 日本女优在线视频一区二区| 美女视频黄 久久| 国产69精品一区二区亚洲孕妇 | 欧美男男青年gay1069videost | 一区二区三区国产精华| 日日摸夜夜添夜夜添国产精品 | 北岛玲一区二区三区四区| 色久优优欧美色久优优| 91麻豆精品国产无毒不卡在线观看 | 国产.欧美.日韩| 99国产精品久久久久久久久久久| 在线视频综合导航| 日韩精品在线一区二区| 国产日韩欧美精品电影三级在线| 国产精品久久久久久福利一牛影视| 亚洲精品乱码久久久久久久久 | 亚洲色图丝袜美腿| 午夜免费欧美电影| 国产高清精品久久久久| 欧美亚洲动漫另类| 久久久精品tv| 亚洲成人激情综合网| 国产精品一品视频| 在线精品观看国产| 久久久综合视频| 一区二区三区精品| 国产在线麻豆精品观看| 一本一本久久a久久精品综合麻豆| 欧美伦理影视网| 欧美国产乱子伦| 亚洲一区精品在线| 国产成人一区在线| 欧美区视频在线观看| 国产精品麻豆99久久久久久| 亚洲妇熟xx妇色黄| 国产精品66部| 欧美丰满美乳xxx高潮www| 国产色91在线| 麻豆久久一区二区| 91福利资源站| 国产三级精品视频| 丝袜诱惑亚洲看片 | 精品对白一区国产伦| 亚洲精品中文字幕乱码三区 | 欧美视频在线不卡| 亚洲国产岛国毛片在线| 日韩av中文字幕一区二区| 99re成人精品视频| www日韩大片| 久久国产乱子精品免费女| 在线观看成人免费视频| 亚洲欧洲日产国码二区| 粉嫩av一区二区三区粉嫩| 91精品久久久久久蜜臀| 一片黄亚洲嫩模| av电影一区二区| 久久久久久电影| 理论片日本一区| 欧美日韩国产色站一区二区三区| 国产精品国产三级国产aⅴ入口| 另类小说综合欧美亚洲| 欧美日韩激情一区二区三区| 亚洲日本韩国一区| www.av精品| 欧美激情自拍偷拍| 国产不卡视频在线播放| www精品美女久久久tv| 加勒比av一区二区| 精品乱人伦小说| 国内精品视频一区二区三区八戒| 日韩欧美国产精品一区| 麻豆freexxxx性91精品| 日韩精品专区在线影院重磅| 日本伊人精品一区二区三区观看方式| 91丨porny丨在线| 中文字幕在线不卡一区二区三区| 国产主播一区二区三区| 精品国产sm最大网站| 蜜桃在线一区二区三区| 欧美丰满高潮xxxx喷水动漫| 亚洲成av人片在线观看无码| 欧美视频日韩视频在线观看| 亚洲成人av一区二区| 欧美精品xxxxbbbb| 蜜臀av一区二区在线免费观看 | 夜夜嗨av一区二区三区网页| 欧美主播一区二区三区| 一区二区成人在线| 欧美视频在线观看一区二区| 午夜a成v人精品| 91精品久久久久久久久99蜜臂| 免费观看在线色综合| 精品国产伦理网| 国产精品一区二区x88av| 国产精品灌醉下药二区| 色综合久久久网| 午夜久久久久久电影| 精品久久99ma| 国产成人日日夜夜| 最新久久zyz资源站| 在线观看视频91| 日本亚洲三级在线| 国产天堂亚洲国产碰碰| 91美女福利视频| 天天综合网 天天综合色| 精品国产3级a| 成人av综合在线| 亚洲最大成人综合| 91精品视频网| 懂色av一区二区在线播放| 亚洲欧洲日韩av| 3d成人动漫网站| 国产69精品久久99不卡| 夜夜爽夜夜爽精品视频| 欧美tk丨vk视频| 成人免费看黄yyy456| 亚洲国产精品一区二区久久| 久久先锋资源网| 91福利视频在线| 国产一区在线视频| 亚洲午夜电影在线| 久久女同精品一区二区| 色欧美片视频在线观看| 精品在线一区二区三区| 亚洲视频精选在线| 日韩欧美国产午夜精品| 91网页版在线| 蜜桃久久久久久| 亚洲国产精品二十页| 欧美日韩亚洲丝袜制服| 成人精品高清在线| 蜜桃av一区二区三区电影| 亚洲欧洲精品一区二区精品久久久| 欧美日韩在线播放三区四区| 精品一区二区三区av| 一区二区三区国产精华| 欧美极品xxx| 欧美不卡在线视频| 欧美精品自拍偷拍| av动漫一区二区| 国产精品一卡二卡在线观看|