RTP Trace System
1.0
|
00001 // ########################################################################## 00002 // #### #### 00003 // #### RTP Audio Server Project #### 00004 // #### ============================ #### 00005 // #### #### 00006 // #### Internet Flow #### 00007 // #### #### 00008 // #### Version 1.00 -- February 16, 2001 #### 00009 // #### #### 00010 // #### Copyright (C) 1999 Thomas Dreibholz #### 00011 // #### 2000 Universität Bonn, Abt. IV #### 00012 // #### 2001 EMail: dreibh@iem.uni-due.de #### 00013 // #### WWW: https://www.uni-due.de/~be0001 #### 00014 // #### #### 00015 // ########################################################################## 00016 00017 00018 #ifndef INTERNETFLOW_H 00019 #define INTERNETFLOW_H 00020 00021 00022 #include "system.h" 00023 #include "internetaddress.h" 00024 00025 00026 namespace Coral { 00027 00028 00037 class InternetFlow : public InternetAddress 00038 { 00039 // ====== Constructors/Destructor ======================================== 00040 public: 00045 InternetFlow(); 00046 00052 InternetFlow(const InternetFlow& flow); 00053 00061 InternetFlow(const InternetAddress& address, 00062 const card32 flowLabel, 00063 const card8 trafficClass); 00064 00065 00066 // ====== Initialization ================================================= 00070 void reset(); 00071 00072 00073 // ====== Address functions ============================================== 00079 String getAddressString() const; 00080 00081 00082 // ====== Get/set system sockaddr structure ============================== 00088 cardinal getSystemAddress(sockaddr* buffer, 00089 const socklen_t length, 00090 const cardinal type) const; 00091 00097 bool setSystemAddress(sockaddr* address, socklen_t length); 00098 00099 00100 // ====== Status functions =============================================== 00106 inline card32 getFlowInfo() const; 00107 00108 00114 inline card32 getFlowLabel() const; 00115 00121 inline void setFlowLabel(const card32 flowLabel); 00122 00123 00129 inline card8 getTrafficClass() const; 00130 00136 inline void setTrafficClass(const card8 trafficClass); 00137 00138 00139 // ====== Private data =================================================== 00140 private: 00141 card32 FlowInfo; 00142 }; 00143 00144 00145 #include "internetflow.icc" 00146 00147 00148 } 00149 00150 00151 #endif