クラス O2Client

#include <O2Client.h>

O2Clientに対する継承グラフ

O2Client_HTTP O2Agent

すべてのメンバ一覧

Public メソッド

 O2Client (const wchar_t *name, O2Logger *lgr)
 ~O2Client ()
bool Start (void)
bool Stop (void)
bool Restart (void)
bool IsActive (void)
uint64 GetSessionLimit (void)
bool SetSessionLimit (uint64 limit)
uint64 GetRecvSizeLimit (void)
void SetRecvSizeLimit (uint64 limit)
uint64 GetSessionPeak (void)
uint64 GetTotalSessionCount (void)
uint64 GetRecvByte (void)
uint64 GetSendByte (void)
void ResetCounter (void)
size_t GetSessionList (O2SocketSessionPList &out)
void SetIconCallbackMsg (HWND hwnd, UINT msg)
void AddRequest (O2SocketSession *ss, bool high_priority=false)

Protected メソッド

virtual void OnClientStart (void)=0
virtual void OnClientStop (void)=0
virtual void OnConnect (O2SocketSession *ss)=0
virtual void OnRecv (O2SocketSession *ss)=0
virtual void OnSend (O2SocketSession *ss)=0
virtual void OnClose (O2SocketSession *ss)=0

Protected 変数

O2LoggerLogger
wstring ClientName
uint64 SessionLimit
uint64 SessionPeak
uint64 RecvSizeLimit
uint64 TotalSessionCount
uint64 TotalConnectError
uint64 RecvByte
uint64 SendByte
bool Active
HANDLE LaunchThreadHandle
HANDLE NetIOThreadHandle
HWND hwndSetIconCallback
UINT msgSetIconCallback
O2SocketSessionPList queue
O2SocketSessionPSet connectss
O2SocketSessionPList sss
Mutex QueueLock
Mutex ConnectSessionLock
Mutex SessionListLock
EventObject QueueExistSignal
EventObject SessionExistSignal

Private メソッド

void LaunchThread (void)
void ConnectionThread (O2SocketSession *ss)
void NetIOThread (void)
int connect2 (SOCKET s, const struct sockaddr *name, int namelen, int timeout)

Static Private メソッド

static uint WINAPI StaticLaunchThread (void *data)
static uint WINAPI StaticConnectionThread (void *data)
static uint WINAPI StaticNetIOThread (void *data)

構成

struct  ConnectThreadParam


説明

O2Client.h22 行で定義されています。


コンストラクタとデストラクタ

O2Client::O2Client ( const wchar_t *  name,
O2Logger lgr 
)

O2Client.cpp21 行で定義されています。

O2Client::~O2Client (  ) 

O2Client.cpp43 行で定義されています。


関数

bool O2Client::Start ( void   ) 

O2Client.cpp52 行で定義されています。

bool O2Client::Stop ( void   ) 

O2Client.cpp83 行で定義されています。

bool O2Client::Restart ( void   ) 

O2Client.cpp134 行で定義されています。

bool O2Client::IsActive ( void   ) 

O2Client.cpp150 行で定義されています。

uint64 O2Client::GetSessionLimit ( void   ) 

O2Client.cpp160 行で定義されています。

bool O2Client::SetSessionLimit ( uint64  limit  ) 

O2Client.cpp170 行で定義されています。

uint64 O2Client::GetRecvSizeLimit ( void   ) 

O2Client.cpp183 行で定義されています。

void O2Client::SetRecvSizeLimit ( uint64  limit  ) 

O2Client.cpp193 行で定義されています。

uint64 O2Client::GetSessionPeak ( void   ) 

O2Client.cpp203 行で定義されています。

uint64 O2Client::GetTotalSessionCount ( void   ) 

O2Client.cpp213 行で定義されています。

uint64 O2Client::GetRecvByte ( void   ) 

O2Client.cpp223 行で定義されています。

uint64 O2Client::GetSendByte ( void   ) 

O2Client.cpp233 行で定義されています。

void O2Client::ResetCounter ( void   ) 

O2Client.cpp243 行で定義されています。

size_t O2Client::GetSessionList ( O2SocketSessionPList out  ) 

O2Client.cpp255 行で定義されています。

void O2Client::SetIconCallbackMsg ( HWND  hwnd,
UINT  msg 
)

O2Client.cpp278 行で定義されています。

void O2Client::AddRequest ( O2SocketSession ss,
bool  high_priority = false 
)

O2Client.cpp292 行で定義されています。

virtual void O2Client::OnClientStart ( void   )  [protected, pure virtual]

O2Client_HTTPで実装されています。

virtual void O2Client::OnClientStop ( void   )  [protected, pure virtual]

O2Client_HTTPで実装されています。

virtual void O2Client::OnConnect ( O2SocketSession ss  )  [protected, pure virtual]

O2Client_HTTPで実装されています。

virtual void O2Client::OnRecv ( O2SocketSession ss  )  [protected, pure virtual]

O2Client_HTTPで実装されています。

virtual void O2Client::OnSend ( O2SocketSession ss  )  [protected, pure virtual]

O2Client_HTTPで実装されています。

virtual void O2Client::OnClose ( O2SocketSession ss  )  [protected, pure virtual]

O2Client_HTTPで実装されています。

uint WINAPI O2Client::StaticLaunchThread ( void *  data  )  [static, private]

O2Client.cpp323 行で定義されています。

uint WINAPI O2Client::StaticConnectionThread ( void *  data  )  [static, private]

O2Client.cpp399 行で定義されています。

uint WINAPI O2Client::StaticNetIOThread ( void *  data  )  [static, private]

O2Client.cpp502 行で定義されています。

void O2Client::LaunchThread ( void   )  [private]

O2Client.cpp338 行で定義されています。

void O2Client::ConnectionThread ( O2SocketSession ss  )  [private]

O2Client.cpp426 行で定義されています。

void O2Client::NetIOThread ( void   )  [private]

O2Client.cpp517 行で定義されています。

int O2Client::connect2 ( SOCKET  s,
const struct sockaddr *  name,
int  namelen,
int  timeout 
) [private]

O2Client.cpp698 行で定義されています。


変数

O2Logger* O2Client::Logger [protected]

O2Client.h25 行で定義されています。

O2Client.h27 行で定義されています。

O2Client.h28 行で定義されています。

O2Client.h29 行で定義されています。

O2Client.h30 行で定義されています。

O2Client.h31 行で定義されています。

O2Client.h32 行で定義されています。

O2Client.h33 行で定義されています。

O2Client.h34 行で定義されています。

bool O2Client::Active [protected]

O2Client.h35 行で定義されています。

HANDLE O2Client::LaunchThreadHandle [protected]

O2Client.h37 行で定義されています。

HANDLE O2Client::NetIOThreadHandle [protected]

O2Client.h38 行で定義されています。

O2Client.h39 行で定義されています。

UINT O2Client::msgSetIconCallback [protected]

O2Client.h40 行で定義されています。

O2Client.h42 行で定義されています。

O2Client.h43 行で定義されています。

O2Client.h44 行で定義されています。

O2Client.h46 行で定義されています。

O2Client.h47 行で定義されています。

O2Client.h48 行で定義されています。

O2Client.h49 行で定義されています。

O2Client.h50 行で定義されています。


このクラスの説明は次のファイルから生成されました:

Mon Mar 24 23:13:32 2008に生成されました。  doxygen 1.5.5