Channel (cloudsim 3.1-SNAPSHOT API)

org.cloudbus.cloudsim.workflow

## Class Channel

- java.lang.Object
- - org.cloudbus.cloudsim.workflow.Channel

-     public class Channel
      extends Object

  This class represents a channel for transmission of data between VMs. It controls sharing of available bandwidth among DataItems. Relation between Transmission and Channel is the same as Cloudlet and CloudletScheduler, but here we consider only the time shared case, representing a shared channel among different simultaneous DataItem transmissions.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Channel(double bandwidth)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `double` | `addTransmission(Transmission transmission)` Adds a new Transmission to be submitted via this Channel
    `LinkedList<Transmission>` | `getArrivedDataItems()`
    `double` | `getLastUpdateTime()`
    `void` | `removeTransmission(Transmission transmission)` Remove a transmission submitted to this Channel
    `double` | `updateTransmission(double currentTime)` Updates processing of transmissions taking place in this Channel.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Channel

          public Channel(double bandwidth)

  - ### Method Detail

    - #### updateTransmission

          public double updateTransmission(double currentTime)

      Updates processing of transmissions taking place in this Channel.
      Parameters:
        `currentTime` - current simulation time (in seconds)
      Returns:
        delay to next transmission completion or Double.POSITIVE_INFINITY if there is no pending transmissions

    - #### addTransmission

          public double addTransmission(Transmission transmission)

      Adds a new Transmission to be submitted via this Channel
      Parameters:
        `transmission` - transmission initiating
      Returns:
        estimated delay to complete this transmission

    - #### removeTransmission

          public void removeTransmission(Transmission transmission)

      Remove a transmission submitted to this Channel
      Parameters:
        `transmission` - to be removed

    - #### getArrivedDataItems

          public LinkedList<Transmission> getArrivedDataItems()

      Returns:
        list of DataItems whose transmission finished, or empty list if no dataItem arrived.

    - #### getLastUpdateTime

          public double getLastUpdateTime()

Copyright © 2013 The Cloud Computing and Distributed Systems (CLOUDS) Laboratory, The University of Melbourne. All Rights Reserved.