Initial
This commit is contained in:
79
socket/TIMEINFO.HPP
Normal file
79
socket/TIMEINFO.HPP
Normal file
@@ -0,0 +1,79 @@
|
||||
#ifndef _SOCKET_TIMEINFO_HPP_
|
||||
#define _SOCKET_TIMEINFO_HPP_
|
||||
#include <stdio.h>
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_STRING_HPP_
|
||||
#include <common/string.hpp>
|
||||
#endif
|
||||
|
||||
class TimeInfo
|
||||
{
|
||||
public:
|
||||
TimeInfo(void);
|
||||
TimeInfo(const TimeInfo &timeInfo);
|
||||
virtual ~TimeInfo();
|
||||
TimeInfo &operator=(const TimeInfo &someTimeInfo);
|
||||
void startTime(void);
|
||||
void endTime(DWORD byteCount);
|
||||
operator String(void)const;
|
||||
private:
|
||||
double mSecondsElapsed;
|
||||
double mBytesPerSecond;
|
||||
DWORD mBytesReceived;
|
||||
};
|
||||
|
||||
inline
|
||||
TimeInfo::TimeInfo(void)
|
||||
: mSecondsElapsed(0.00), mBytesPerSecond(0.00), mBytesReceived(0)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
TimeInfo::TimeInfo(const TimeInfo &someTimeInfo)
|
||||
{
|
||||
*this=someTimeInfo;
|
||||
}
|
||||
|
||||
inline
|
||||
TimeInfo::~TimeInfo()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
TimeInfo &TimeInfo::operator=(const TimeInfo &someTimeInfo)
|
||||
{
|
||||
mSecondsElapsed=someTimeInfo.mSecondsElapsed;
|
||||
mBytesPerSecond=someTimeInfo.mBytesPerSecond;
|
||||
mBytesReceived=someTimeInfo.mBytesReceived;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
void TimeInfo::startTime(void)
|
||||
{
|
||||
mSecondsElapsed=(double)::GetTickCount();
|
||||
mBytesPerSecond=0;
|
||||
mBytesReceived=0;
|
||||
}
|
||||
|
||||
inline
|
||||
void TimeInfo::endTime(DWORD byteCount)
|
||||
{
|
||||
mBytesReceived=byteCount;
|
||||
mSecondsElapsed=(double)::GetTickCount()-mSecondsElapsed;
|
||||
mSecondsElapsed/=1000.00;
|
||||
if(0.00==mSecondsElapsed)mBytesPerSecond=byteCount;
|
||||
else mBytesPerSecond=(1.00/mSecondsElapsed)*(double)byteCount;
|
||||
}
|
||||
|
||||
inline
|
||||
TimeInfo::operator String(void)const
|
||||
{
|
||||
String stringValue;
|
||||
|
||||
::sprintf(stringValue,"%ld bytes transferred in %lf seconds. (%lf KBS)",mBytesReceived,mSecondsElapsed,mBytesPerSecond/1000.00);
|
||||
return stringValue;
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user