sipxportlib  Version 3.3
OsNatSocketBaseImpl.h
Go to the documentation of this file.
1 // $Id$
2 //
3 // Copyright (C) 2005 Pingtel Corp.
4 //
5 // $$
7 
8 #ifndef _OsNatSocketBaseImpl_h_
9 #define _OsNatSocketBaseImpl_h_
10 
11 // SYSTEM INCLUDES
12 // APPLICATION INCLUDES
13 #include "os/OsMutex.h"
14 #include "os/IStunSocket.h"
15 #include "os/OsNotification.h"
16 
17 // The follow defines are used to keep track of what has been recorded for
18 // various time-based metrics.
19 #define ONDS_MARK_NONE 0x00000000
20 #define ONDS_MARK_FIRST_READ 0x00000001
21 #define ONDS_MARK_LAST_READ 0x00000002
22 #define ONDS_MARK_FIRST_WRITE 0x00000004
23 #define ONDS_MARK_LAST_WRITE 0x00000008
24 
26 {
27 /* //////////////////////////// PUBLIC //////////////////////////////////// */
28 public:
30  virtual ~OsNatSocketBaseImpl() ;
31 
37  virtual void setReadNotification(OsNotification* pNotification) ;
38 
39 /* //////////////////////////// PROTECTED ///////////////////////////////// */
40 protected:
41  void markReadTime() ;
42  void markWriteTime() ;
43 
48  virtual bool getFirstReadTime(OsDateTime& time) ;
49 
54  virtual bool getLastReadTime(OsDateTime& time) ;
55 
60  virtual bool getFirstWriteTime(OsDateTime& time) ;
61 
66  virtual bool getLastWriteTime(OsDateTime& time) ;
67 
71  virtual void handleStunMessage(char* pBuf, int length, UtlString& fromAddress, int fromPort) ;
72 
73 
77  virtual void handleTurnMessage(char* pBuf,
78  int length,
79  UtlString& fromAddress,
80  int fromPort) ;
81 
85  virtual int handleTurnDataIndication(char* buffer,
86  int bufferLength,
87  UtlString* pRecvFromIp,
88  int* pRecvFromPort) ;
89 
93  virtual bool handleSturnData(char* buffer,
94  int& bufferLength,
95  UtlString& receivedIp,
96  int& receivedPort) ;
97 
98  virtual OsSocket* getSocket() =0;
99 
100 protected:
101  unsigned int miRecordTimes ; // Bitmask populated w/ ONDS_MARK_*
102  OsDateTime mFirstRead ;
103  OsDateTime mLastRead ;
104  OsDateTime mFirstWrite ;
105  OsDateTime mLastWrite ;
108 
109 };
110 
111 /* ============================ INLINE METHODS ============================ */
112 
113 
114 /* ///////////////////////// HELPER CLASSES /////////////////////////////// */
115 
116 
117 
118 #endif // _OsNatSocketBaseImpl_h_
119 
virtual bool getFirstReadTime(OsDateTime &time)
Definition: OsNatSocketBaseImpl.cpp:57
Definition: OsSocket.h:79
virtual bool getLastWriteTime(OsDateTime &time)
Definition: OsNatSocketBaseImpl.cpp:99
virtual bool getLastReadTime(OsDateTime &time)
Definition: OsNatSocketBaseImpl.cpp:71
OsDateTime mFirstRead
Definition: OsNatSocketBaseImpl.h:102
Definition: IStunSocket.h:70
virtual void handleStunMessage(char *pBuf, int length, UtlString &fromAddress, int fromPort)
Definition: OsNatSocketBaseImpl.cpp:156
Definition: OsNatSocketBaseImpl.h:25
time_t __cdecl time(time_t *ptt)
Definition: OsNotification.h:35
virtual OsSocket * getSocket()=0
OsNatSocketBaseImpl()
Definition: OsNatSocketBaseImpl.cpp:43
OsDateTime mFirstWrite
Definition: OsNatSocketBaseImpl.h:104
OsDateTime mLastWrite
Definition: OsNatSocketBaseImpl.h:105
OsNotification * mpReadNotification
Definition: OsNatSocketBaseImpl.h:107
virtual ~OsNatSocketBaseImpl()
Definition: OsNatSocketBaseImpl.cpp:52
Definition: UtlString.h:48
OsDateTime mLastRead
Definition: OsNatSocketBaseImpl.h:103
void markWriteTime()
Definition: OsNatSocketBaseImpl.cpp:142
OsMutex mReadNotificationLock
Definition: OsNatSocketBaseImpl.h:106
virtual bool getFirstWriteTime(OsDateTime &time)
Definition: OsNatSocketBaseImpl.cpp:85
virtual int handleTurnDataIndication(char *buffer, int bufferLength, UtlString *pRecvFromIp, int *pRecvFromPort)
Definition: OsNatSocketBaseImpl.cpp:188
virtual bool handleSturnData(char *buffer, int &bufferLength, UtlString &receivedIp, int &receivedPort)
Definition: OsNatSocketBaseImpl.cpp:229
virtual void handleTurnMessage(char *pBuf, int length, UtlString &fromAddress, int fromPort)
Definition: OsNatSocketBaseImpl.cpp:172
void markReadTime()
Definition: OsNatSocketBaseImpl.cpp:121
virtual void setReadNotification(OsNotification *pNotification)
Definition: OsNatSocketBaseImpl.cpp:112
unsigned int miRecordTimes
Definition: OsNatSocketBaseImpl.h:101