JNetLibray
|
'JNetGroupServer' 인스턴스로부터 그룹 메시지 큐에 전달된 메시지를 싱글 스레드가 수신하여 메시지 처리 콜백을 호출
단일 세션에 대한 수신 직렬 처리를 보장하며, 세션 참조에 대한 유일성이 보장됨으로 수신 이벤트 처리 시 락 없는 로직 구현 가능
더 자세히 ...
#include <JNetCore.h>
클래스 | |
struct | GroupTheradMessage |
그룹 스레드에 전달되는 메시지 구조체 더 자세히 ... | |
Public 멤버 함수 | |
int | GetGroupThreadLoopFPS () |
void | Init (JNetGroupServer *server, GroupID groupID, bool threadPriorBoost=false, bool calcFps=false) |
bool | Start () |
void | Stop () |
void | EnterSession (SessionID64 sessionID) |
void | LeaveSession (SessionID64 sessionID) |
void | PushSessionMessage (SessionID64 sessionID, JBuffer *msg) |
void | PushGroupMessage (GroupID senderGroupID, JBuffer *msg) |
Protected 멤버 함수 | |
GroupID | GetGroupID () |
void | Disconnect (SessionID64 sessionID) |
bool | SendPacket (SessionID64 sessionID, JBuffer *sendPktPtr, bool postToWorker=false, bool encoded=false) |
bool | SendPacketBlocking (SessionID64 sessionID, JBuffer *sendPktPtr, bool encoded=false) |
bool | BufferSendPacket (SessionID64 sessionID, JBuffer *sendPktPtr, bool encoded=false) |
bool | SendBufferedPacket (SessionID64 sessionID, bool postToWorker=false) |
void | CreateGroup (GroupID newGroupID, JNetGroupThread *groupThread, bool threadPriorBoost=false) |
void | DeleteGroup (GroupID delGroupID) |
void | ForwardSessionToGroup (SessionID64 sessionID, GroupID destGroup) |
void | ForwardSessionMessage (SessionID64 sessionID, JBuffer *msg) |
void | SendGroupMessage (GroupID groupID, JBuffer *msg) |
DWORD | AllocTlsMemPool () |
JBuffer * | AllocSerialBuff () |
JBuffer * | AllocSerialSendBuff (uint16 len, bool LAN=false) |
void | FreeSerialBuff (JBuffer *buff) |
void | AddRefSerialBuff (JBuffer *buff) |
virtual void | OnStart () |
virtual void | OnStop () |
virtual void | OnEnterClient (SessionID64 sessionID)=0 |
virtual void | OnLeaveClient (SessionID64 sessionID)=0 |
virtual void | OnMessage (SessionID64 sessionID, JBuffer &recvData)=0 |
virtual void | OnGroupMessage (GroupID groupID, JBuffer &msg)=0 |
Protected 속성 | |
JNetGroupServer * | m_Server |
Private 타입 | |
enum | GroupTheradMessageType { enSessionEnter , enSessionLeave , enSessionMessage , enGroupMessage } |
정적 Private 멤버 함수 | |
static UINT __stdcall | SessionGroupThreadFunc (void *arg) |
Private 속성 | |
GroupID | m_GroupID |
그룹 스레드 인스턴스의 관리 대상인 그룹 ID | |
bool | m_PriorBoost |
그룹 스레드의 우선순위 부스팅 여부 플래그 | |
bool | m_CalcFps |
그룹 스레드의 FPS(Framge per second) 측정 여부 플래그 | |
HANDLE | m_GroupThreadHnd |
그룹 스레드 핸들 | |
bool | m_GroupThreadStop |
그룹 스레드 중지 플래그 | |
LockFreeQueue< GroupTheradMessage > | m_LockFreeMessageQueue |
int | m_GroupThreadProcFPS |
'JNetGroupServer' 인스턴스로부터 그룹 메시지 큐에 전달된 메시지를 싱글 스레드가 수신하여 메시지 처리 콜백을 호출
단일 세션에 대한 수신 직렬 처리를 보장하며, 세션 참조에 대한 유일성이 보장됨으로 수신 이벤트 처리 시 락 없는 로직 구현 가능
열거형 멤버 | |
---|---|
enSessionEnter | |
enSessionLeave | |
enSessionMessage | |
enGroupMessage |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
staticprivate |
|
protected |
|
private |
그룹 스레드 인스턴스의 관리 대상인 그룹 ID
|
private |
그룹 스레드의 우선순위 부스팅 여부 플래그
|
private |
그룹 스레드의 FPS(Framge per second) 측정 여부 플래그
|
private |
그룹 스레드 핸들
|
private |
그룹 스레드 중지 플래그
|
private |
|
private |