flowsim.core
Class UnicastFlowImpl

java.lang.Object
  |
  +--flowsim.core.FlowImpl
        |
        +--flowsim.core.RoutedFlowImpl
              |
              +--flowsim.core.UnicastFlowImpl
Direct Known Subclasses:
DSUnicastFlow, FCBEFlowImpl, QoSUnicastFlowImpl

public class UnicastFlowImpl
extends RoutedFlowImpl
implements UnicastFlow


Fields inherited from class flowsim.core.RoutedFlowImpl
s
 
Fields inherited from class flowsim.core.FlowImpl
DS_BEST_EFFORT, DS_UNKNOWN
 
Constructor Summary
UnicastFlowImpl(Simulator s, Node from, Node to, int desired_bw, int flow, int ds, int rport)
           
 
Method Summary
 UnicastFlow add_child_same_node()
          Set the child to a clone of this flow.
 void block()
           
 void forward(LinkManager lm)
           
 UnicastFlow get_child()
           
 LinkManager get_iface()
           
 UnicastFlow get_parent()
           
 Node get_to()
           
protected  UnicastFlow mkchild(Node child_node)
           
 void next_node(Node child_node)
           
 void set_bw(int abw, int bw)
           
 void set_parent_bw(int bw)
           
protected  void set_parent(UnicastFlow parent)
           
 void stop()
           
 java.lang.String toString()
           
 
Methods inherited from class flowsim.core.RoutedFlowImpl
get_router_port, route, set_router_port, start
 
Methods inherited from class flowsim.core.FlowImpl
attach_monitor, detach_monitor, get_available_bw, get_bw, get_desired_bw, get_ds, get_flowid, get_from_service, get_from, get_total_bw, is_blocked, is_running, set_desired_bw, set_ds, set_flowid, set_from_service, utility
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

UnicastFlowImpl

public UnicastFlowImpl(Simulator s,
                       Node from,
                       Node to,
                       int desired_bw,
                       int flow,
                       int ds,
                       int rport)
Method Detail

set_parent

protected void set_parent(UnicastFlow parent)

mkchild

protected UnicastFlow mkchild(Node child_node)

add_child_same_node

public UnicastFlow add_child_same_node()
Set the child to a clone of this flow. This is used for for example in special cases of routing, where another object has a reference to the flow, but you want to modify it (for example the ds byte). This is very special and is normally not used. Note that you have to start() the flow after that.
Specified by:
add_child_same_node in interface UnicastFlow
Returns:
Child flow originating on the same node

get_iface

public LinkManager get_iface()
Specified by:
get_iface in interface UnicastFlow

next_node

public void next_node(Node child_node)
Specified by:
next_node in interface UnicastFlow

get_to

public final Node get_to()
Specified by:
get_to in interface UnicastFlow

get_parent

public final UnicastFlow get_parent()
Specified by:
get_parent in interface UnicastFlow

get_child

public final UnicastFlow get_child()
Specified by:
get_child in interface UnicastFlow

forward

public void forward(LinkManager lm)
Overrides:
forward in class RoutedFlowImpl

stop

public void stop()
Overrides:
stop in class FlowImpl

block

public void block()
Overrides:
block in class FlowImpl

set_parent_bw

public void set_parent_bw(int bw)
Specified by:
set_parent_bw in interface UnicastFlow

set_bw

public void set_bw(int abw,
                   int bw)
Overrides:
set_bw in class FlowImpl

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object