inria.net.lrmp
Class LrmpProfile

java.lang.Object
  |
  +--inria.net.lrmp.LrmpProfile
All Implemented Interfaces:
java.lang.Cloneable

public class LrmpProfile
extends java.lang.Object
implements java.lang.Cloneable

LRMP profile is used to configure an LRMP object from an application. An application should use this object to do QoS settings.

When the profile is set, Lrmp makes a local copy to prevent erroneous settings on the same profile by the application. Thus when the application modifies the current settings, it should call Lrmp.setProfile() to make it to take effect.


Field Summary
static int AdaptedThroughput
          The flow control: adapted rate.
 int bandwidth
          The bandwidth to use for data transmission, in kbits/sec.
static int BestEffort
          The flow control: best effort.
static int ConstantThroughput
          The flow control: constant rate.
static int LimitedLoss
          The reliability requirement: limited loss.
static int LossAllowed
          The reliability requirement: loss tolerable.
 int maxRate
          The expected maximum data rate, in kbits/sec.
 int minRate
          The expected minimum data rate, in kbits/sec.
static int NoLoss
          The reliability requirement: no loss.
static int NoReceiverReport
          The feedback mechanism: no report.
 boolean ordered
          The packet ordering.
static int PeriodicReceiverReport
          The feedback mechanism: periodic report.
static int RandomReceiverReport
          The feedback mechanism: random report.
 int rcvReportSelection
          The receiver report scheme, it only makes sense for data senders.
 int rcvWindowSize
          The reception window size, in number of packets.
 int reliability
          The loss control setting.
 boolean sendRepair
          A flag to enable sending repairs when the local user is a receiver.
 int sendWindowSize
          The send window size, in number of packets.
 int throughput
          The rate control scheme.
 
Constructor Summary
LrmpProfile()
          Constructs a LrmpProfile.
 
Method Summary
 java.lang.Object clone()
           
 boolean lossAllowed()
          Returns true if packet loss is allowed.
 void setEventHandler(LrmpEventHandler handler)
          Sets the event handler of LRMP.
 void setQoS(int reliability, boolean ordered, int throughput)
          Sets QoS parameters.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LossAllowed

public static final int LossAllowed
The reliability requirement: loss tolerable.

LimitedLoss

public static final int LimitedLoss
The reliability requirement: limited loss.

NoLoss

public static final int NoLoss
The reliability requirement: no loss.

BestEffort

public static final int BestEffort
The flow control: best effort.

ConstantThroughput

public static final int ConstantThroughput
The flow control: constant rate.

AdaptedThroughput

public static final int AdaptedThroughput
The flow control: adapted rate.

NoReceiverReport

public static final int NoReceiverReport
The feedback mechanism: no report.

RandomReceiverReport

public static final int RandomReceiverReport
The feedback mechanism: random report.

PeriodicReceiverReport

public static final int PeriodicReceiverReport
The feedback mechanism: periodic report.

ordered

public boolean ordered
The packet ordering. By default, the packet ordering is set to true.

reliability

public int reliability
The loss control setting. The default value is NoLoss.

throughput

public int throughput
The rate control scheme. The default value is AdaptedThroughput.

bandwidth

public int bandwidth
The bandwidth to use for data transmission, in kbits/sec.

minRate

public int minRate
The expected minimum data rate, in kbits/sec. The default value is 8 kb/s.

maxRate

public int maxRate
The expected maximum data rate, in kbits/sec. The default value is 64 kb/s.

sendWindowSize

public int sendWindowSize
The send window size, in number of packets. The default value is 64.

rcvWindowSize

public int rcvWindowSize
The reception window size, in number of packets. The default value is 64.

sendRepair

public boolean sendRepair
A flag to enable sending repairs when the local user is a receiver. The default value is true.

rcvReportSelection

public int rcvReportSelection
The receiver report scheme, it only makes sense for data senders.
Constructor Detail

LrmpProfile

public LrmpProfile()
Constructs a LrmpProfile.
Method Detail

setQoS

public void setQoS(int reliability,
                   boolean ordered,
                   int throughput)
Sets QoS parameters.
Parameters:
reliability - loss allowed or not.
ordered - ordered packet delivery or not.
throughput - rate control algorithm to use.

setEventHandler

public void setEventHandler(LrmpEventHandler handler)
Sets the event handler of LRMP.
Parameters:
handler - the event handler.

lossAllowed

public boolean lossAllowed()
Returns true if packet loss is allowed.

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object


JavaTM Reliable MulticastTM Service version 1.1
Copyright (c) 2001, Sun Microsystems Laboratories, All rights reserved.