flowsim.core
Class LinkManagerImpl

java.lang.Object
  |
  +--flowsim.core.LinkManagerImpl
Direct Known Subclasses:
FairLinkManager, SimpleLinkManager

public abstract class LinkManagerImpl
extends java.lang.Object
implements LinkManager


Constructor Summary
LinkManagerImpl(Link link)
           
 
Method Summary
 long add(Flow flow)
          Add new flow.
 void attach_monitor(LinkManagerMonitor lmm)
           
 void bw_changed(Flow flow)
          Called when the bandwidth of a flow is changed (usually when it is made smaller by other linkmanagers
 void detach_monitor(LinkManagerMonitor lmm)
           
 com.sun.java.util.collections.Iterator flows()
           
 Link get_link()
          Get managed link
 Node get_peer()
          Get node on the other side of the link
 int get_rbw_notbe()
          Residual bandwith without counting best-effort
 void print_debug_info()
           
 void remove(Flow flow)
          Remove flow
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LinkManagerImpl

public LinkManagerImpl(Link link)
Method Detail

attach_monitor

public void attach_monitor(LinkManagerMonitor lmm)
Specified by:
attach_monitor in interface LinkManager

detach_monitor

public void detach_monitor(LinkManagerMonitor lmm)
Specified by:
detach_monitor in interface LinkManager

flows

public com.sun.java.util.collections.Iterator flows()
Specified by:
flows in interface LinkManager

get_peer

public final Node get_peer()
Get node on the other side of the link
Specified by:
get_peer in interface LinkManager

get_link

public final Link get_link()
Get managed link
Specified by:
get_link in interface LinkManager

get_rbw_notbe

public int get_rbw_notbe()
Residual bandwith without counting best-effort
Specified by:
get_rbw_notbe in interface LinkManager

add

public long add(Flow flow)
Add new flow.
Specified by:
add in interface LinkManager
Returns:
Delay in micro-seconds

bw_changed

public void bw_changed(Flow flow)
Called when the bandwidth of a flow is changed (usually when it is made smaller by other linkmanagers
Specified by:
bw_changed in interface LinkManager

remove

public void remove(Flow flow)
Remove flow
Specified by:
remove in interface LinkManager

print_debug_info

public void print_debug_info()