⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fifonetworkstub.java

📁 High performance DB query
💻 JAVA
字号:
/* * @(#)$Id: FifoNetworkStub.java,v 1.6 2005/08/02 19:50:44 huebsch Exp $ * * Copyright (c) 2001-2004 Regents of the University of California. * All rights reserved. * * This file is distributed under the terms in the attached BERKELEY-LICENSE * file. If you do not find these files, copies can be found by writing to: * Computer Science Division, Database Group, Universite of California, * 617 Soda Hall #1776, Berkeley, CA 94720-1776. Attention: Berkeley License * * Copyright (c) 2003-2004 Intel Corporation. All rights reserved. * * This file is distributed under the terms in the attached INTEL-LICENSE file. * If you do not find these files, copies can be found by writing to: * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, * Berkeley, CA, 94704.  Attention:  Intel License Inquiry. */package simulator.schedulers.network.node.fifo;import java.net.InetAddress;import simulator.schedulers.network.NetworkScheduler;import simulator.schedulers.network.node.naive.NaiveNetworkStub;/** * Class FifoNetworkStub * */public class FifoNetworkStub extends NaiveNetworkStub {    protected double[] nextSlot;    /**     * Constructor FifoNetworkStub     *     * @param scheduler     * @param inBandwidth     * @param outBandwidth     * @param shareBandwidth     * @param myIP     */    public FifoNetworkStub(NetworkScheduler scheduler, double inBandwidth,                           double outBandwidth, boolean shareBandwidth,                           InetAddress myIP) {        super(scheduler, inBandwidth, outBandwidth, shareBandwidth, myIP);        nextSlot = new double[2];        for (int i = 0; i < (shareBandwidth                             ? 1                             : 2); i++) {            nextSlot[i] = 0;        }    }    /**     * Method deliveryTime     *     * @param direction     * @param curTime     * @param size     * @return     */    protected double deliveryTime(int direction, double curTime, int size) {        double startTime = (curTime > nextSlot[direction])                           ? curTime                           : nextSlot[direction];        double queueTime = size / getBandwidth(direction);        nextSlot[direction] = startTime + queueTime;        return nextSlot[direction];    }    /**     * Method setStatus     *     * @param status     */    public void setStatus(boolean status) {        online = status;        // Remove any backlog        for (int i = 0; i < (shareBandwidth                             ? 1                             : 2); i++) {            nextSlot[i] = 0;        }    }    /**     * Method getQueueDelay     *     * @param direction     * @param curTime     * @return     */    public double getQueueDelay(int direction, double curTime) {        double queueDelay = (nextSlot[direction] > curTime)                            ? nextSlot[direction] - curTime                            : 0;        return queueDelay;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -