ACE_Flow_Spec Class Reference

Wrapper class that defines the flow spec QoS information, which is used by IntServ (RSVP) and DiffServ. More...

#include <OS_QoS.h>

List of all members.

Public Member Functions

 ACE_Flow_Spec (void)
 Default constructor.

 ACE_Flow_Spec (unsigned long token_rate, unsigned long token_bucket_size, unsigned long peak_bandwidth, unsigned long latency, unsigned long delay_variation, ACE_SERVICE_TYPE service_type, unsigned long max_sdu_size, unsigned long minimum_policed_size, int ttl, int priority)
 Constructor that initializes all the fields.

unsigned long token_rate (void) const
 Get the token rate in bytes/sec.

void token_rate (unsigned long tr)
 Set the token rate in bytes/sec.

unsigned long token_bucket_size (void) const
 Get the token bucket size in bytes.

void token_bucket_size (unsigned long tbs)
 Set the token bucket size in bytes.

unsigned long peak_bandwidth (void) const
 Get the PeakBandwidth in bytes/sec.

void peak_bandwidth (unsigned long pb)
 Set the PeakBandwidth in bytes/sec.

unsigned long latency (void) const
 Get the latency in microseconds.

void latency (unsigned long l)
 Set the latency in microseconds.

unsigned long delay_variation (void) const
 Get the delay variation in microseconds.

void delay_variation (unsigned long dv)
 Set the delay variation in microseconds.

ACE_SERVICE_TYPE service_type (void) const
 Get the service type.

void service_type (ACE_SERVICE_TYPE st)
 Set the service type.

unsigned long max_sdu_size (void) const
 Get the maximum SDU size in bytes.

void max_sdu_size (unsigned long mss)
 Set the maximum SDU size in bytes.

unsigned long minimum_policed_size (void) const
 Get the minimum policed size in bytes.

void minimum_policed_size (unsigned long mps)
 Set the minimum policed size in bytes.

int ttl (void) const
 Get the time-to-live.

void ttl (int t)
 Set the time-to-live.

int priority (void) const
 Get the priority.

void priority (int p)
 Set the priority.


Private Attributes

unsigned long token_rate_
unsigned long token_bucket_size_
unsigned long peak_bandwidth_
unsigned long latency_
unsigned long delay_variation_
ACE_SERVICE_TYPE service_type_
unsigned long max_sdu_size_
unsigned long minimum_policed_size_
int ttl_
int priority_


Detailed Description

Wrapper class that defines the flow spec QoS information, which is used by IntServ (RSVP) and DiffServ.

Definition at line 109 of file OS_QoS.h.


Constructor & Destructor Documentation

ACE_Flow_Spec::ACE_Flow_Spec void   ) 
 

Default constructor.

Definition at line 62 of file OS_QoS.cpp.

References delay_variation_, latency_, max_sdu_size_, minimum_policed_size_, peak_bandwidth_, service_type_, token_bucket_size_, token_rate_, and ttl_.

00063 {
00064 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00065     defined (ACE_HAS_WINSOCK2_GQOS)
00066   this->TokenRate = 0;
00067   this->TokenBucketSize = 0;
00068   this->PeakBandwidth = 0;
00069   this->Latency = 0;
00070   this->DelayVariation = 0;
00071 #if defined(ACE_HAS_WINSOCK2_GQOS)
00072   this->ServiceType = 0;
00073   this->MaxSduSize = 0;
00074   this->MinimumPolicedSize = 0;
00075 #endif /* ACE_HAS_WINSOCK2_GQOS */
00076 #else
00077 
00078   this->token_rate_ = 0;
00079   this->token_bucket_size_ = 0;
00080   this->peak_bandwidth_ = 0;
00081   this->latency_ = 0;
00082   this->delay_variation_ = 0;
00083   this->service_type_ = 0;
00084   this->max_sdu_size_ = 0;
00085   this->minimum_policed_size_ = 0;
00086   this->ttl_ = 0;
00087   this->priority_ = 0;
00088 
00089 #endif /* defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) */
00090 }

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_Flow_Spec::ACE_Flow_Spec unsigned long  token_rate,
unsigned long  token_bucket_size,
unsigned long  peak_bandwidth,
unsigned long  latency,
unsigned long  delay_variation,
ACE_SERVICE_TYPE  service_type,
unsigned long  max_sdu_size,
unsigned long  minimum_policed_size,
int  ttl,
int  priority
 

Constructor that initializes all the fields.

Definition at line 18 of file OS_QoS.cpp.

References delay_variation_, latency_, max_sdu_size_, minimum_policed_size_, peak_bandwidth_, service_type_, token_bucket_size_, token_rate_, and ttl_.

00028 {
00029 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00030   this->TokenRate = token_rate;
00031   this->TokenBucketSize = token_bucket_size;
00032   this->PeakBandwidth = peak_bandwidth;
00033   this->Latency = latency;
00034   this->DelayVariation = delay_variation;
00035 #if defined(ACE_HAS_WINSOCK2_GQOS)
00036   this->ServiceType = service_type;
00037   this->MaxSduSize = max_sdu_size;
00038   this->MinimumPolicedSize = minimum_policed_size;
00039 #else
00040   ACE_UNUSED_ARG (service_type);
00041   ACE_UNUSED_ARG (max_sdu_size);
00042   ACE_UNUSED_ARG (minimum_policed_size);
00043 #endif /* ACE_HAS_WINSOCK2_GQOS */
00044   ACE_UNUSED_ARG (ttl);
00045   ACE_UNUSED_ARG (priority);
00046 #else
00047 
00048   this->token_rate_ = token_rate;
00049   this->token_bucket_size_ = token_bucket_size;
00050   this->peak_bandwidth_ = peak_bandwidth;
00051   this->latency_ = latency;
00052   this->delay_variation_ = delay_variation;
00053   this->service_type_ = service_type;
00054   this->max_sdu_size_ = max_sdu_size;
00055   this->minimum_policed_size_ = minimum_policed_size;
00056   this->ttl_ = ttl;
00057   this->priority_ = priority;
00058 
00059 #endif /* defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) */
00060 }


Member Function Documentation

void ACE_Flow_Spec::delay_variation unsigned long  dv  ) 
 

Set the delay variation in microseconds.

Definition at line 182 of file OS_QoS.cpp.

References delay_variation_.

00183 {
00184 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00185   this->DelayVariation = dv;
00186 #else
00187   this->delay_variation_ = dv;
00188 #endif /* ACE_HAS_WINSOCK2 */
00189 }

unsigned long ACE_Flow_Spec::delay_variation void   )  const
 

Get the delay variation in microseconds.

Definition at line 173 of file OS_QoS.cpp.

References delay_variation_.

00174 {
00175 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00176   return this->DelayVariation;
00177 #else
00178   return this->delay_variation_;
00179 #endif /* ACE_HAS_WINSOCK2 */
00180 }

void ACE_Flow_Spec::latency unsigned long  l  ) 
 

Set the latency in microseconds.

Definition at line 163 of file OS_QoS.cpp.

References latency_.

00164 {
00165 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00166   this->Latency = l;
00167 #else
00168   this->latency_ = l;
00169 #endif /* ACE_HAS_WINSOCK2 */
00170 }

unsigned long ACE_Flow_Spec::latency void   )  const
 

Get the latency in microseconds.

Definition at line 153 of file OS_QoS.cpp.

References latency_.

00154 {
00155 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00156   return this->Latency;
00157 #else
00158   return this->latency_;
00159 #endif /* ACE_HAS_WINSOCK2 */
00160 }

void ACE_Flow_Spec::max_sdu_size unsigned long  mss  ) 
 

Set the maximum SDU size in bytes.

Definition at line 225 of file OS_QoS.cpp.

References max_sdu_size_.

00226 {
00227 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00228     defined (ACE_HAS_WINSOCK2_GQOS)
00229   this->MaxSduSize = mss;
00230 #else
00231   this->max_sdu_size_ = mss;
00232 #endif /* ACE_HAS_WINSOCK2 */
00233 }

unsigned long ACE_Flow_Spec::max_sdu_size void   )  const
 

Get the maximum SDU size in bytes.

Definition at line 214 of file OS_QoS.cpp.

References max_sdu_size_.

00215 {
00216 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00217     defined (ACE_HAS_WINSOCK2_GQOS)
00218   return this->MaxSduSize;
00219 #else
00220   return this->max_sdu_size_;
00221 #endif /* ACE_HAS_WINSOCK2 */
00222 }

void ACE_Flow_Spec::minimum_policed_size unsigned long  mps  ) 
 

Set the minimum policed size in bytes.

Definition at line 247 of file OS_QoS.cpp.

References minimum_policed_size_.

00248 {
00249 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00250     defined (ACE_HAS_WINSOCK2_GQOS)
00251   this->MinimumPolicedSize = mps;
00252 #else
00253   this->minimum_policed_size_ = mps;
00254 #endif /* ACE_HAS_WINSOCK2 */
00255 }

unsigned long ACE_Flow_Spec::minimum_policed_size void   )  const
 

Get the minimum policed size in bytes.

Definition at line 236 of file OS_QoS.cpp.

References minimum_policed_size_.

00237 {
00238 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00239     defined (ACE_HAS_WINSOCK2_GQOS)
00240   return this->MinimumPolicedSize;
00241 #else
00242   return this->minimum_policed_size_;
00243 #endif /* ACE_HAS_WINSOCK2 */
00244 }

void ACE_Flow_Spec::peak_bandwidth unsigned long  pb  ) 
 

Set the PeakBandwidth in bytes/sec.

Definition at line 143 of file OS_QoS.cpp.

References peak_bandwidth_.

00144 {
00145 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00146   this->PeakBandwidth = pb;
00147 #else
00148   this->peak_bandwidth_ = pb;
00149 #endif /* ACE_HAS_WINSOCK2 */
00150 }

unsigned long ACE_Flow_Spec::peak_bandwidth void   )  const
 

Get the PeakBandwidth in bytes/sec.

Definition at line 133 of file OS_QoS.cpp.

References peak_bandwidth_.

00134 {
00135 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00136   return this->PeakBandwidth;
00137 #else
00138   return this->peak_bandwidth_;
00139 #endif /* ACE_HAS_WINSOCK2 */
00140 }

void ACE_Flow_Spec::priority int  p  ) 
 

Set the priority.

Definition at line 292 of file OS_QoS.cpp.

00293 {
00294 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00295     defined (ACE_HAS_WINSOCK2_GQOS)
00296   ACE_UNUSED_ARG (p);
00297   // TBD...
00298 #else
00299   this->priority_ = p;
00300 #endif /* ACE_HAS_WINSOCK2 */
00301 }

int ACE_Flow_Spec::priority void   )  const
 

Get the priority.

Definition at line 281 of file OS_QoS.cpp.

References ACE_NOTSUP_RETURN.

00282 {
00283 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00284     defined (ACE_HAS_WINSOCK2_GQOS)
00285   ACE_NOTSUP_RETURN (-1);
00286 #else
00287   return this->priority_;
00288 #endif /* ACE_HAS_WINSOCK2 */
00289 }

void ACE_Flow_Spec::service_type ACE_SERVICE_TYPE  st  ) 
 

Set the service type.

Definition at line 203 of file OS_QoS.cpp.

References service_type_.

00204 {
00205 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00206     defined (ACE_HAS_WINSOCK2_GQOS)
00207   this->ServiceType = st;
00208 #else
00209   this->service_type_ = st;
00210 #endif /* ACE_HAS_WINSOCK2 */
00211 }

ACE_SERVICE_TYPE ACE_Flow_Spec::service_type void   )  const
 

Get the service type.

Definition at line 192 of file OS_QoS.cpp.

References service_type_.

00193 {
00194 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00195     defined (ACE_HAS_WINSOCK2_GQOS)
00196   return this->ServiceType;
00197 #else
00198   return this->service_type_;
00199 #endif /* ACE_HAS_WINSOCK2 */
00200 }

void ACE_Flow_Spec::token_bucket_size unsigned long  tbs  ) 
 

Set the token bucket size in bytes.

Definition at line 123 of file OS_QoS.cpp.

References token_bucket_size_.

00124 {
00125 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00126   this->TokenBucketSize = tbs;
00127 #else
00128   this->token_bucket_size_ = tbs;
00129 #endif /* ACE_HAS_WINSOCK2 */
00130 }

unsigned long ACE_Flow_Spec::token_bucket_size void   )  const
 

Get the token bucket size in bytes.

Definition at line 113 of file OS_QoS.cpp.

References token_bucket_size_.

00114 {
00115 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00116   return this->TokenBucketSize;
00117 #else
00118   return this->token_bucket_size_;
00119 #endif /* ACE_HAS_WINSOCK2 */
00120 }

void ACE_Flow_Spec::token_rate unsigned long  tr  ) 
 

Set the token rate in bytes/sec.

Definition at line 103 of file OS_QoS.cpp.

References token_rate_.

00104 {
00105 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00106   this->TokenRate = tr;
00107 #else
00108   this->token_rate_ = tr;
00109 #endif /* ACE_HAS_WINSOCK2 */
00110 }

unsigned long ACE_Flow_Spec::token_rate void   )  const
 

Get the token rate in bytes/sec.

Definition at line 93 of file OS_QoS.cpp.

References token_rate_.

00094 {
00095 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00096   return this->TokenRate;
00097 #else
00098   return this->token_rate_;
00099 #endif /* ACE_HAS_WINSOCK2 */
00100 }

void ACE_Flow_Spec::ttl int  t  ) 
 

Set the time-to-live.

Definition at line 269 of file OS_QoS.cpp.

References ttl_.

00270 {
00271 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00272     defined (ACE_HAS_WINSOCK2_GQOS)
00273   ACE_UNUSED_ARG (t);
00274   // TBD...
00275 #else
00276   this->ttl_ = t;
00277 #endif /* ACE_HAS_WINSOCK2 */
00278 }

int ACE_Flow_Spec::ttl void   )  const
 

Get the time-to-live.

Definition at line 258 of file OS_QoS.cpp.

References ACE_NOTSUP_RETURN, and ttl_.

00259 {
00260 #if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && \
00261     defined (ACE_HAS_WINSOCK2_GQOS)
00262   ACE_NOTSUP_RETURN (-1);
00263 #else
00264   return this->ttl_;
00265 #endif /* ACE_HAS_WINSOCK2 */
00266 }


Member Data Documentation

unsigned long ACE_Flow_Spec::delay_variation_ [private]
 

Definition at line 198 of file OS_QoS.h.

Referenced by ACE_Flow_Spec(), and delay_variation().

unsigned long ACE_Flow_Spec::latency_ [private]
 

Definition at line 197 of file OS_QoS.h.

Referenced by ACE_Flow_Spec(), and latency().

unsigned long ACE_Flow_Spec::max_sdu_size_ [private]
 

Definition at line 200 of file OS_QoS.h.

Referenced by ACE_Flow_Spec(), and max_sdu_size().

unsigned long ACE_Flow_Spec::minimum_policed_size_ [private]
 

Definition at line 201 of file OS_QoS.h.

Referenced by ACE_Flow_Spec(), and minimum_policed_size().

unsigned long ACE_Flow_Spec::peak_bandwidth_ [private]
 

Definition at line 196 of file OS_QoS.h.

Referenced by ACE_Flow_Spec(), and peak_bandwidth().

int ACE_Flow_Spec::priority_ [private]
 

Definition at line 203 of file OS_QoS.h.

ACE_SERVICE_TYPE ACE_Flow_Spec::service_type_ [private]
 

Definition at line 199 of file OS_QoS.h.

Referenced by ACE_Flow_Spec(), and service_type().

unsigned long ACE_Flow_Spec::token_bucket_size_ [private]
 

Definition at line 195 of file OS_QoS.h.

Referenced by ACE_Flow_Spec(), and token_bucket_size().

unsigned long ACE_Flow_Spec::token_rate_ [private]
 

Definition at line 194 of file OS_QoS.h.

Referenced by ACE_Flow_Spec(), and token_rate().

int ACE_Flow_Spec::ttl_ [private]
 

Definition at line 202 of file OS_QoS.h.

Referenced by ACE_Flow_Spec(), and ttl().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:22:22 2006 for ACE by doxygen 1.3.6