DB 커넥션 기능을 수행하는 DB 커넥션 객체 풀을 관리하여 커넥션(HoldConnection)과 SQL 쿼리 및 응답 처리(ExecQuery, FetchQuery) 추상화 제공
더 자세히 ...
|
| JNetOdbcServer (int32 dbConnCnt, const WCHAR *odbcConnStr, const char *serverIP, uint16 serverPort, uint16 maximumOfConnections, PACKET_CODE packetCode_LAN, PACKET_CODE packetCode, PACKET_SYMM_KEY packetSymmetricKey, bool recvBufferingMode, uint16 maximumOfSessions, uint32 numOfIocpConcurrentThrd, uint16 numOfIocpWorkerThrd, size_t tlsMemPoolUnitCnt, size_t tlsMemPoolUnitCapacity, uint32 memPoolBuffAllocSize, uint32 sessionRecvBuffSize, bool calcTpsThread) |
|
bool | Start () |
|
void | Stop () |
|
| JNetServer (const char *serverIP, uint16 serverPort, uint16 maximumOfConnections, PACKET_CODE packetCode_LAN, PACKET_CODE packetCode, PACKET_SYMM_KEY packetSymmetricKey, bool recvBufferingMode, uint16 maximumOfSessions, uint32 numOfIocpConcurrentThrd, uint16 numOfIocpWorkerThrd, size_t tlsMemPoolUnitCnt, size_t tlsMemPoolUnitCapacity, uint32 memPoolBuffAllocSize, uint32 sessionRecvBuffSize, bool calcTpsThread) |
|
bool | Start () |
|
void | Stop () |
|
void | PrintServerInfoOnConsole () |
|
| JNetCore (uint16 maximumOfSessions, uint32 numOfIocpConcurrentThrd, uint16 numOfIocpWorkerThrd, size_t tlsMemPoolUnitCnt, size_t tlsMemPoolUnitCapacity, uint32 memPoolBuffAllocSize, uint32 sessionRecvBuffSize, bool calcTpsThread) |
|
| ~JNetCore () |
|
bool | Start () |
|
void | Stop () |
|
uint16 | GetCurrentSessions () |
|
int64 | GetCurrentAllocatedMemUnitCnt () |
|
int | GetSessionCount () |
|
UINT | GetAcceptTPS () |
|
UINT | GetRecvTPS () |
|
UINT | GetSendTPS () |
|
UINT64 | GetTotalAcceptTransaction () |
|
UINT64 | GetTotalRecvTransaction () |
|
UINT64 | GetTotalSendTransaction () |
|
void | IncrementRecvTransactions (bool threadSafe, UINT incre) |
|
void | IncrementSendTransactions (bool threadSafe, UINT incre) |
|
void | IncrementAcceptTransactions (bool threadSafe=false, UINT incre=1) |
|
|
JNetDBConn * | HoldDBConnection () |
|
void | FreeDBConnection (JNetDBConn *dbConn, bool isDisconnected=false, bool tryToConnect=false) |
|
bool | BindParameter (JNetDBConn *dbConn, INT32 paramIndex, bool *value) |
|
bool | BindParameter (JNetDBConn *dbConn, INT32 paramIndex, float *value) |
|
bool | BindParameter (JNetDBConn *dbConn, INT32 paramIndex, double *value) |
|
bool | BindParameter (JNetDBConn *dbConn, INT32 paramIndex, INT8 *value) |
|
bool | BindParameter (JNetDBConn *dbConn, INT32 paramIndex, INT16 *value) |
|
bool | BindParameter (JNetDBConn *dbConn, INT32 paramIndex, INT32 *value) |
|
bool | BindParameter (JNetDBConn *dbConn, INT32 paramIndex, INT64 *value) |
|
bool | BindParameter (JNetDBConn *dbConn, INT32 paramIndex, TIMESTAMP_STRUCT *value) |
|
bool | BindParameter (JNetDBConn *dbConn, INT32 paramIndex, const WCHAR *str) |
|
bool | BindParameter (JNetDBConn *dbConn, INT32 paramIndex, const BYTE *bin, INT32 size) |
|
bool | BindColumn (JNetDBConn *dbConn, INT32 columnIndex, bool *value) |
|
bool | BindColumn (JNetDBConn *dbConn, INT32 columnIndex, float *value) |
|
bool | BindColumn (JNetDBConn *dbConn, INT32 columnIndex, double *value) |
|
bool | BindColumn (JNetDBConn *dbConn, INT32 columnIndex, INT8 *value) |
|
bool | BindColumn (JNetDBConn *dbConn, INT32 columnIndex, INT16 *value) |
|
bool | BindColumn (JNetDBConn *dbConn, INT32 columnIndex, INT32 *value) |
|
bool | BindColumn (JNetDBConn *dbConn, INT32 columnIndex, INT64 *value) |
|
bool | BindColumn (JNetDBConn *dbConn, INT32 columnIndex, TIMESTAMP_STRUCT *value) |
|
bool | BindColumn (JNetDBConn *dbConn, INT32 columnIndex, WCHAR *str, INT32 size, SQLLEN *index) |
|
bool | BindColumn (JNetDBConn *dbConn, INT32 columnIndex, BYTE *bin, INT32 size, SQLLEN *index) |
|
bool | BindParameter (JNetDBConn *dbConn, SQLPOINTER dataPtr, SQLUSMALLINT paramIndex, SQLULEN len, SQLSMALLINT cType, SQLSMALLINT sqlType) |
|
bool | BindColumn (JNetDBConn *dbConn, SQLPOINTER outValue, SQLUSMALLINT columnIndex, SQLULEN len, SQLSMALLINT cType) |
|
void | UnBind (JNetDBConn *dbConn) |
|
bool | ExecQuery (JNetDBConn *dbConn, const wchar_t *query) |
|
bool | FetchQuery (JNetDBConn *dbConn) |
|
INT32 | GetRowCount (JNetDBConn *dbConn) |
|
virtual void | OnPrintLogOnConsole () |
|
bool | SendPacket (SessionID64 sessionID, JBuffer *sendPktPtr, bool postToWorker=false, bool encoded=false) |
| JNetCore 요청 함수 + 송신 패킷 인코딩 기능
|
|
bool | SendPacketBlocking (SessionID64 sessionID, JBuffer *sendPktPtr, bool encoded=false) |
|
bool | BufferSendPacket (SessionID64 sessionID, JBuffer *sendPktPtr, bool encoded=false) |
|
JBuffer * | AllocSerialSendBuff (uint16 len, bool LAN=false) |
| 직렬화 패킷 버퍼 할당 + 헤더 초기화
|
|
virtual bool | OnConnectionRequest (const SOCKADDR_IN &clientSockAddr) |
| Accept 반환 시 호출되는 이벤트 함수, 클라이언트 수용 여부를 반환을 통해 결정
|
|
virtual void | OnClientJoin (SessionID64 sessionID, const SOCKADDR_IN &clientSockAddr)=0 |
| 클라이언트 연결 수용 후 정상적으로 세션을 생성한 이 후 호출되는 이벤트 함수
|
|
virtual void | OnClientLeave (SessionID64 sessionID)=0 |
| 클라이언트와의 연결 종료 및 클라이언트 세션 제거 후 호출되는 이벤트 함수
|
|
virtual void | OnRecv (SessionID64 sessionID, JBuffer &recvBuff) |
| 패킷 수신 시 호출되는 이벤트 함수
|
|
virtual void | OnRecv (SessionID64 sessionID, JSerialBuffer &recvSerialBuff) |
| 패킷 수신 시 호출되는 이벤트 함수, 수신 버퍼링 모드의 서버 전용
|
|
void | PrintLibraryInfoOnConsole () |
|
JNetSession * | CreateNewSession (SOCKET sock) |
| 하위 클래스에서 세션 객체 생성 요청을 위해 호출하는 함수
|
|
bool | RegistSessionToIOCP (JNetSession *session) |
| 하위 클래스에서 세션 객체를 IOCP 등록을 위해 호출하는 함수
|
|
bool | DeleteSession (SessionID64 sessionID) |
| 세션 제거 요청 함수
|
|
void | Disconnect (SessionID64 sessionID) |
|
bool | SendPacket (SessionID64 sessionID, JBuffer *sendPktPtr, bool postToWorker=false) |
| 패킷 송신 요청 함수
|
|
bool | SendPacketBlocking (SessionID64 sessionID, JBuffer *sendPktPtr) |
| 동기식 송신 요청 함수
|
|
bool | BufferSendPacket (SessionID64 sessionID, JBuffer *sendPktPtr) |
| 세션 송신 버퍼 큐에 버퍼링(삽입만 진행)
|
|
bool | SendBufferedPacket (SessionID64 sessionID, bool postToWorker=false) |
| 세션 송신 버퍼 큐 내 송신 패킷 직렬화 버퍼에 대한 일괄 송신 작업 수행
|
|
DWORD | AllocTlsMemPool () |
| 직렬화 패킷 버퍼 Tls 풀 할당 함수
|
|
JBuffer * | AllocSerialBuff () |
| 직렬화 패킷 버퍼 할당 요청 wrapper
|
|
void | FreeSerialBuff (JBuffer *buff) |
| 직렬화 패킷 버퍼 반환 wrapper
|
|
void | AddRefSerialBuff (JBuffer *buff) |
| 직렬화 패킷 버퍼 참조 카운트 증가 wrapper
|
|
virtual bool | OnWorkerThreadCreate (HANDLE thHnd) |
| Start() 함수 내 IOCP 작업자 스레드 생성(CREATE_SUSPENDED) 후 호출되는 이벤트 함수
|
|
virtual void | OnAllWorkerThreadCreate () |
| Start() 함수 내 요청된 수 만큼 IOCP 작업자 스레드를 생성한 후 함수를 빠져나오기 전 호출되는 이벤트 함수
|
|
virtual void | OnWorkerThreadStart () |
| 개별 IOCP 작업자 스레드의 수행 흐름 초입부(WorkerThreadFunc 함수 초입부)에 호출되는 이벤트 함수, 개별 작업자 스레드의 초기화를 독립적으로 수행하도록 재정의 가능
|
|
virtual void | OnWorkerThreadEnd () |
| 개별 IOCP 작업자 스레드가 종료(작업자 함수 return) 전 호출되는 이벤트 함수
|
|
virtual void | OnError () |
|
DB 커넥션 기능을 수행하는 DB 커넥션 객체 풀을 관리하여 커넥션(HoldConnection)과 SQL 쿼리 및 응답 처리(ExecQuery, FetchQuery) 추상화 제공