|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object | +--gov.nist.antd.mpls.mgmt.mpls_interface.MPLSPacketScheduler
The DiffServPacketScheduler is the basic framework of MPLS Packet Scheduler (PriorityScheduler, RoundRobinScheduler, and WFQScheduler). Each MPLS packet scheduler maintains relative parameters for priority scheduling, weight-based scheduling, and hybrid scheduling of two stage scheduling.
In priority-based scheduling the higher priority packet flow exclusively use the bandwidth regardless the of the lower-priority queue status. In weighted scheduling, weight for each queue is allocated, and the relative portion of the bandwidth is allocated to the queue according to its weight.
This class was developed at the National Institute of Standards and Technology by employees of the Federal Government in the course of their official duties. Pursuant to title 17 Section 105 of the United States Code this software is not subject to copyright protection and is in the public domain. NIST assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic.
We would appreciate acknowledgement if the software is used.
NIST ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION AND DISCLAIM ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
| Field Summary | |
MPLSPacketScheduler |
childScheduler
Field childScheduler - Child Scheduler |
boolean |
debug
Field debug - True if debug |
java.lang.String |
hostID
Field HostID - Local Host ID |
boolean |
isActive
Field isActive - True if it is active |
boolean |
isPrimary
Field isPrimary - True it is primary scheduler |
Host |
localHost
Field localHost - Local Host Object |
MPLSInterfaceInfo |
mplsInterfaceInfo
Field mplsinterfaceinfo - MPLS Interface Information |
double |
nextSchedulingTime
Field nextSchedulingTime - Next Scheduling Time |
MPLSPacketScheduler |
parentScheduler
Field parentScheduler - Parent Scheduler |
double |
schedulingBurstSize
Field SchedulingBurstSize - Scheduling Burst Size |
java.util.Vector |
schedulingQueueTable
Field SchedulingQueueTable - Scheduling Queue Table |
double |
schedulingRate
Field SchedulingRate - Scheduling Rate |
Timer |
schedulingTimer
Field SchedulingTimer - Scheduling Timer |
| Constructor Summary | |
MPLSPacketScheduler()
|
|
| Method Summary | |
void |
createSchedulingTimer()
This method creates a scheduling timer for in 1 second. |
void |
createSecondaryScheduler(java.lang.String ClassName)
Method createSecondaryScheduler Create the secondary scheduler |
MPLSPacketScheduler |
getChildScheduler()
Method getChildScheduler |
MPLSPacketScheduler |
getParentScheduler()
Return the parent scheduler. |
void |
holdingScheduler()
Method holdingScheduler |
void |
init(MPLSInterfaceInfo minfo)
Method init |
void |
initSecondary(MPLSPacketScheduler mps)
Method initSecondary Initialize the secondary scheduler |
void |
packetForwarding(ProtocolMessage message,
ProtocolSession fromSession)
Method packetForwarding (former PacketForwarding(ProtocolMessage)) |
abstract void |
scheduling()
Schedules the messages |
abstract MessageWrapper |
secondaryScheduling()
Method secondaryScheduling |
void |
setNextSchedulingTimer(double waittime)
Method setNextSchedulingTimer |
void |
setSchedulingRate(double srate)
Method setSchedulingRate Set the scheduler Rate |
void |
startScheduling()
Method startScheduling |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public MPLSInterfaceInfo mplsInterfaceInfo
public Host localHost
public java.lang.String hostID
public boolean isActive
public boolean debug
public boolean isPrimary
public double schedulingRate
public double schedulingBurstSize
public java.util.Vector schedulingQueueTable
public double nextSchedulingTime
public Timer schedulingTimer
public MPLSPacketScheduler parentScheduler
public MPLSPacketScheduler childScheduler
| Constructor Detail |
public MPLSPacketScheduler()
| Method Detail |
public void init(MPLSInterfaceInfo minfo)
minfo - -public void initSecondary(MPLSPacketScheduler mps)
mps - - XXXpublic void createSchedulingTimer()
public void createSecondaryScheduler(java.lang.String ClassName)
ClassName - - XXXpublic MPLSPacketScheduler getParentScheduler()
public MPLSPacketScheduler getChildScheduler()
public void startScheduling()
public void holdingScheduler()
public void packetForwarding(ProtocolMessage message,
ProtocolSession fromSession)
message - the message that has to be forwarded.fromSession - The protocol session the message comes from.public void setNextSchedulingTimer(double waittime)
waittime - - XXXpublic void setSchedulingRate(double srate)
srate - - Schedule ratepublic abstract void scheduling()
public abstract MessageWrapper secondaryScheduling()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||