RTP Trace System  1.0
internetflow.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines