Class RootSwitch
java.lang.Object
org.cloudbus.cloudsim.core.CloudSimEntity
org.cloudbus.cloudsim.network.switches.AbstractSwitch
org.cloudbus.cloudsim.network.switches.RootSwitch
- All Implemented Interfaces:
java.lang.Cloneable
,java.lang.Comparable<SimEntity>
,java.lang.Runnable
,Identifiable
,Nameable
,SimEntity
,Switch
public class RootSwitch extends AbstractSwitch
This class allows to simulate Root switch which connects Datacenters to
external network. It interacts with other Datacenter in order to exchange
packets.
Please refer to following publication for more details:
- Since:
- CloudSim Toolkit 3.0
- Author:
- Saurabh Kumar Garg, Manoel Campos da Silva Filho
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.cloudbus.cloudsim.core.SimEntity
SimEntity.State
-
Field Summary
Fields Modifier and Type Field Description static long
DOWNLINK_BW
The downlink bandwidth of RootSwitch in Megabits/s.static int
LEVEL
The level (layer) of the switch in the network topology.static int
PORTS
Default number of root switch ports that defines the number ofAggregateSwitch
that can be connected to it.static double
SWITCHING_DELAY
Default switching delay in milliseconds. -
Constructor Summary
Constructors Constructor Description RootSwitch(CloudSim simulation, NetworkDatacenter dc)
Instantiates a Root AbstractSwitch specifying what other Datacenter are connected to its downlink ports, and corresponding bandwidths. -
Method Summary
Modifier and Type Method Description int
getLevel()
Gets the level (layer) of the Switch in the network topology, depending if it is a root switch (layer 0), aggregate switch (layer 1) or edge switch (layer 2)protected void
processPacketUp(SimEvent evt)
Sends a packet to Datacenter connected through a uplink port.Methods inherited from class org.cloudbus.cloudsim.network.switches.AbstractSwitch
addPacketToBeSentToFirstUplinkSwitch, addPacketToSendToDownlinkSwitch, addPacketToSendToHost, addPacketToSendToUplinkSwitch, bandwidthByPacket, downlinkTransferDelay, getDatacenter, getDownlinkBandwidth, getDownlinkSwitches, getDownlinkSwitchPacketList, getHostPacketList, getPorts, getSwitchingDelay, getUplinkBandwidth, getUplinkSwitches, getUplinkSwitchPacketList, getVmEdgeSwitch, getVmHost, packetTransferDelay, processEvent, processHostPacket, processPacketDown, setDatacenter, setDownlinkBandwidth, setPorts, setSwitchingDelay, setUplinkBandwidth, shutdownEntity, startEntity, uplinkTransferDelay
Methods inherited from class org.cloudbus.cloudsim.core.CloudSimEntity
cancelEvent, clone, compareTo, equals, getId, getName, getNextEvent, getNextEvent, getSimulation, getState, hashCode, isAlive, isFinished, isStarted, pause, run, run, schedule, schedule, schedule, schedule, schedule, schedule, scheduleFirst, scheduleFirst, scheduleFirstNow, scheduleFirstNow, scheduleNow, scheduleNow, selectEvent, send, send, sendNow, sendNow, setEventBuffer, setId, setName, setSimulation, setStarted, setState, start, waitForEvent
-
Field Details
-
LEVEL
public static final int LEVELThe level (layer) of the switch in the network topology.- See Also:
- Constant Field Values
-
PORTS
public static final int PORTSDefault number of root switch ports that defines the number ofAggregateSwitch
that can be connected to it.- See Also:
- Constant Field Values
-
SWITCHING_DELAY
public static final double SWITCHING_DELAYDefault switching delay in milliseconds.- See Also:
- Constant Field Values
-
DOWNLINK_BW
public static final long DOWNLINK_BWThe downlink bandwidth of RootSwitch in Megabits/s. It also represents the uplink bandwidth of connected aggregation Datacenter.
-
-
Constructor Details
-
RootSwitch
Instantiates a Root AbstractSwitch specifying what other Datacenter are connected to its downlink ports, and corresponding bandwidths.- Parameters:
simulation
- The CloudSim instance that represents the simulation the Entity is related todc
- The Datacenter where the switch is connected to
-
-
Method Details
-
processPacketUp
Description copied from class:AbstractSwitch
Sends a packet to Datacenter connected through a uplink port.- Overrides:
processPacketUp
in classAbstractSwitch
- Parameters:
evt
- Event/packet to process
-
getLevel
public int getLevel()Description copied from interface:Switch
Gets the level (layer) of the Switch in the network topology, depending if it is a root switch (layer 0), aggregate switch (layer 1) or edge switch (layer 2)- Returns:
- the switch network level
-