クラス O2Server

#include <O2Server.h>

O2Serverに対する継承グラフ

O2Server_HTTP O2Server_HTTP_Admin O2Server_HTTP_P2P O2Server_HTTP_Proxy

すべてのメンバ一覧

Public メソッド

 O2Server (const wchar_t *name, O2Logger *lgr, O2IPFilter *ipf)
 ~O2Server ()
bool Start (void)
bool Stop (void)
bool Restart (void)
bool IsActive (void)
wchar_t * GetName (void)
bool SetPort (ushort pn)
void SetMultiLinkRejection (bool f)
bool IsMultiLinkReject (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)
time_t GetLastAcceptTime (void)
size_t GetSessionList (O2SocketSessionPList &out)
void SetIconCallbackMsg (HWND hwnd, UINT msg)

Protected メソッド

virtual void OnServerStart (void)=0
virtual void OnServerStop (void)=0
virtual void OnSessionLimit (O2SocketSession *ss)=0
virtual void OnAccept (O2SocketSession *ss)=0
virtual void OnRecv (O2SocketSession *ss)=0
virtual void OnSend (O2SocketSession *ss)=0
virtual void OnClose (O2SocketSession *ss)=0

Protected 変数

O2LoggerLogger
O2IPFilterIPFilter
wstring ServerName
ushort ServerPort
SOCKET ServerSocket
uint64 SessionLimit
uint64 SessionPeak
uint64 RecvSizeLimit
bool RejectMultiLink
uint64 TotalSessionCount
uint64 TotalSessionLimitOver
uint64 TotalMultiLinkReject
uint64 TotalIPFilterReject
uint64 RecvByte
uint64 SendByte
time_t LastAcceptTime
bool Active
HANDLE ListenThreadHandle
HANDLE NetIOThreadHandle
uint64 IPFilteringThreadCount
HWND hwndSetIconCallback
UINT msgSetIconCallback
O2SocketSessionPMap sss
Mutex SessionMapLock
EventObject SessionExistSignal
Mutex IPFilteringThreadCountLock

Private メソッド

bool Bind (void)
void ListenThread (void)
void NetIOThread (void)
void IPFilteringThread (O2SocketSession *ss)

Static Private メソッド

static uint WINAPI StaticListenThread (void *data)
static uint WINAPI StaticNetIOThread (void *data)
static uint WINAPI StaticIPFilteringThread (void *data)

構成

struct  IPFilteringThreadParam


説明

O2Server.h26 行で定義されています。


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

O2Server::O2Server ( const wchar_t *  name,
O2Logger lgr,
O2IPFilter ipf 
)

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

O2Server::~O2Server (  ) 

O2Server.cpp51 行で定義されています。


関数

bool O2Server::Start ( void   ) 

O2Server.cpp60 行で定義されています。

bool O2Server::Stop ( void   ) 

O2Server.cpp97 行で定義されています。

bool O2Server::Restart ( void   ) 

O2Server.cpp143 行で定義されています。

bool O2Server::IsActive ( void   ) 

O2Server.cpp159 行で定義されています。

wchar_t * O2Server::GetName ( void   ) 

O2Server.cpp169 行で定義されています。

bool O2Server::SetPort ( ushort  pn  ) 

O2Server.cpp179 行で定義されています。

void O2Server::SetMultiLinkRejection ( bool  f  ) 

O2Server.cpp192 行で定義されています。

bool O2Server::IsMultiLinkReject ( void   ) 

O2Server.cpp202 行で定義されています。

uint64 O2Server::GetSessionLimit ( void   ) 

O2Server.cpp212 行で定義されています。

bool O2Server::SetSessionLimit ( uint64  limit  ) 

O2Server.cpp222 行で定義されています。

uint64 O2Server::GetRecvSizeLimit ( void   ) 

O2Server.cpp235 行で定義されています。

void O2Server::SetRecvSizeLimit ( uint64  limit  ) 

O2Server.cpp245 行で定義されています。

uint64 O2Server::GetSessionPeak ( void   ) 

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

uint64 O2Server::GetTotalSessionCount ( void   ) 

O2Server.cpp265 行で定義されています。

uint64 O2Server::GetRecvByte ( void   ) 

O2Server.cpp275 行で定義されています。

uint64 O2Server::GetSendByte ( void   ) 

O2Server.cpp285 行で定義されています。

void O2Server::ResetCounter ( void   ) 

O2Server.cpp295 行で定義されています。

time_t O2Server::GetLastAcceptTime ( void   ) 

O2Server.cpp308 行で定義されています。

size_t O2Server::GetSessionList ( O2SocketSessionPList out  ) 

O2Server.cpp318 行で定義されています。

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

O2Server.cpp344 行で定義されています。

virtual void O2Server::OnServerStart ( void   )  [protected, pure virtual]

O2Server_HTTPで実装されています。

virtual void O2Server::OnServerStop ( void   )  [protected, pure virtual]

O2Server_HTTP, と O2Server_HTTP_P2Pで実装されています。

virtual void O2Server::OnSessionLimit ( O2SocketSession ss  )  [protected, pure virtual]

O2Server_HTTP, と O2Server_HTTP_P2Pで実装されています。

virtual void O2Server::OnAccept ( O2SocketSession ss  )  [protected, pure virtual]

O2Server_HTTPで実装されています。

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

O2Server_HTTPで実装されています。

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

O2Server_HTTPで実装されています。

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

O2Server_HTTP, と O2Server_HTTP_P2Pで実装されています。

bool O2Server::Bind ( void   )  [private]

O2Server.cpp359 行で定義されています。

uint WINAPI O2Server::StaticListenThread ( void *  data  )  [static, private]

O2Server.cpp422 行で定義されています。

void O2Server::ListenThread ( void   )  [private]

O2Server.cpp437 行で定義されています。

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

O2Server.cpp550 行で定義されています。

void O2Server::NetIOThread ( void   )  [private]

O2Server.cpp565 行で定義されています。

uint WINAPI O2Server::StaticIPFilteringThread ( void *  data  )  [static, private]

O2Server.cpp756 行で定義されています。

void O2Server::IPFilteringThread ( O2SocketSession ss  )  [private]

O2Server.cpp784 行で定義されています。


変数

O2Logger* O2Server::Logger [protected]

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

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

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

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

SOCKET O2Server::ServerSocket [protected]

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

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

O2Server.h36 行で定義されています。

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

bool O2Server::RejectMultiLink [protected]

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

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

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

O2Server.h41 行で定義されています。

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

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

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

time_t O2Server::LastAcceptTime [protected]

O2Server.h45 行で定義されています。

bool O2Server::Active [protected]

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

HANDLE O2Server::ListenThreadHandle [protected]

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

HANDLE O2Server::NetIOThreadHandle [protected]

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

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

O2Server.h51 行で定義されています。

UINT O2Server::msgSetIconCallback [protected]

O2Server.h52 行で定義されています。

O2Server.h54 行で定義されています。

O2Server.h55 行で定義されています。

O2Server.h56 行で定義されています。

O2Server.h57 行で定義されています。


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

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