Class EdgeSwitch

All Implemented Interfaces:
Cloneable, Comparable<SimEntity>, Runnable, Identifiable, Nameable, SimEntity, Switch

public class EdgeSwitch extends AbstractSwitch
Represents an Edge Switch in a Datacenter network, which can be connected to NetworkHosts. 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
  • Field Details

    • LEVEL

      public static final int LEVEL
      The level (layer) of the switch in the network topology.
      See Also:
    • PORTS

      public static final int PORTS
      Default number of ports that defines the number of Host that can be connected to the switch.
      See Also:
  • Constructor Details

    • EdgeSwitch

      public EdgeSwitch(CloudSim simulation, NetworkDatacenter dc)
      Instantiates a EdgeSwitch specifying Datacenter that are connected to its downlink and uplink ports, and corresponding bandwidths. In this switch, downlink ports aren't connected to other switch but to hosts.
      Parameters:
      simulation - the CloudSim instance that represents the simulation the Entity belongs
      dc - The Datacenter where the switch is connected to
  • Method Details

    • processPacketDown

      protected void processPacketDown(SimEvent evt)
      Description copied from class: AbstractSwitch
      Sends a packet from uplink to Datacenter connected through a downlink port.
      Overrides:
      processPacketDown in class AbstractSwitch
      Parameters:
      evt - event/packet to process
    • processPacketUp

      protected void processPacketUp(SimEvent evt)
      Description copied from class: AbstractSwitch
      Sends a packet from down switch or host to Datacenter connected through an uplink port.
      Overrides:
      processPacketUp in class AbstractSwitch
      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 on whether it is a RootSwitch (layer 0), AggregateSwitch (layer 1) or EdgeSwitch (layer 2).
      Returns:
      the switch network level
    • getHostList

      public List<NetworkHost> getHostList()
      Gets a read-only list of Hosts connected to the switch.
      Returns:
    • connectHost

      public void connectHost(NetworkHost host)
      Connects a NetworkHost to the switch, by adding it to the getHostList().
      Parameters:
      host - the host to be connected to the switch
    • disconnectHost

      public boolean disconnectHost(NetworkHost host)
      Disconnects a NetworkHost from the switch, by removing it from the getHostList().
      Parameters:
      host - the host to be disconnected from the switch
      Returns:
      true if the Host was connected to the switch, false otherwise