JNetLibray
|
#include "CommStructs.h"
#include "CommTypes.h"
#include "WinSocketAPI.h"
#include "JBuffer.h"
#include "LockFreeQueue.h"
#include "TlsMemPool.h"
#include "JNetDB.h"
클래스 | |
class | jnet::JNetCore |
클라이언트 TCP 세션의 생명 주기를 'JNetSession'을 통해 관리하며, 하위 클래스 객체의 세션 접근(송신, 수신 처리 및 연결 종료)에 대한 thread-safe 성을 보장함 등록된 세션의 소켓 장치를 IOCP 객체에 등록되면, 비동기 I/O 완료 처리를 IOCP 작업자 스레드를 통해 수행 클라이언트로부터의 패킷 수신 완료 및 연결 종료를 이벤트 함수(OnRecvCompletion, OnSessionLeave)를 통해 콜백하며, 패킷 송신 및 연결 종료 기능 함수(SendPacket, Disconnect)를 제공함 더 자세히 ... | |
struct | jnet::JNetCore::JNetSession |
JNetCore에서 관리되는 세션 구조체 세션의 연결 소켓 및 수신 링-버퍼와 송신 락-프리 큐 버퍼를 멤버로 갖으며, 세션 ID와 참조 카운트 필드를 바탕으로 thread-safe한 세션 초기화 및 해제 기능을 제공 더 자세히 ... | |
struct | jnet::JNetCore::JNetSession::SessionID |
세션 ID 비트 필드 더 자세히 ... | |
struct | jnet::JNetCore::JNetSession::SessionRef |
세션 참조 제어용 비트 필드 더 자세히 ... | |
struct | jnet::stMSG_HDR |
class | jnet::JNetServer |
서버 기능이 구체화된 'JNetCore' 하위 클래스, 클라이언트와의 연결 완료 시 '세션 객체 생성' 및 'IOCP 객체에 소켓 장치 등록' 수행 패킷 수신 완료 시의 이벤트 함수에 디코딩 작업(OnRecv)과 패킷 송신 기능 함수에 인코딩 작업 추가 더 자세히 ... | |
class | jnet::JNetOdbcServer |
DB 커넥션 기능을 수행하는 DB 커넥션 객체 풀을 관리하여 커넥션(HoldConnection)과 SQL 쿼리 및 응답 처리(ExecQuery, FetchQuery) 추상화 제공 더 자세히 ... | |
class | jnet::JNetClient |
클라이언트 기능이 구체화된 'JNetCore' 하위 클래스, 동일 LAN 구간 서버로의 연결 요청과 패킷 송수신(ConnectToServer, OnRecv, SendPacket) 추상화 더 자세히 ... | |
class | jnet::jgroup::JNetGroupServer |
클라이언트 세션을 그룹 단위로 묶고, 'JNetGroupThread' 인스턴스의 메시지 큐(그룹 메시지 큐)에 전달 '그룹 생성', '세션의 그룹 이동', '그룹 간 메시지 송신 및 포워딩' 기능(CreateGroup, Enter/ForwardSessionGroup, SendGroupMessage) 제공 더 자세히 ... | |
class | jnet::jgroup::JNetGroupThread |
'JNetGroupServer' 인스턴스로부터 그룹 메시지 큐에 전달된 메시지를 싱글 스레드가 수신하여 메시지 처리 콜백을 호출 단일 세션에 대한 수신 직렬 처리를 보장하며, 세션 참조에 대한 유일성이 보장됨으로 수신 이벤트 처리 시 락 없는 로직 구현 가능 더 자세히 ... | |
struct | jnet::jgroup::JNetGroupThread::GroupTheradMessage |
그룹 스레드에 전달되는 메시지 구조체 더 자세히 ... | |
네임스페이스 | |
namespace | jnet |
JNetCore/JNetServer/JNetOdbcServer/JNetClient class | |
namespace | jgroup |
JNetGroupServer/JNetGroupThread class | |
namespace | jnet::jgroup |
매크로 | |
#define | JBUFF_DIRPTR_MANUAL_RESET |
#define | IOCP_COMPLTED_LPOVERLAPPED_DISCONNECT -1 |
#define | IOCP_COMPLTED_LPOVERLAPPED_SENDPOST_REQ -2 |
#define | CALCULATE_TRANSACTION_PER_SECOND |
#define | ASSERT |
타입정의 | |
using | jnet::SessionID64 = uint64 |
using | jnet::PACKET_CODE = BYTE |
using | jnet::PACKET_SYMM_KEY = BYTE |
using | jnet::PACKET_LEN = uint16 |
using | jnet::jgroup::GroupID = uint16 |
함수 | |
void | jnet::Encode (BYTE symmetricKey, BYTE randKey, USHORT payloadLen, BYTE &checkSum, BYTE *payloads) |
bool | jnet::Decode (BYTE symmetricKey, BYTE randKey, USHORT payloadLen, BYTE checkSum, BYTE *payloads) |
bool | jnet::Decode (BYTE symmetricKey, BYTE randKey, USHORT payloadLen, BYTE checkSum, JBuffer &ringPayloads) |
BYTE | jnet::GetRandomKey () |
#define JBUFF_DIRPTR_MANUAL_RESET |
#define IOCP_COMPLTED_LPOVERLAPPED_DISCONNECT -1 |
#define IOCP_COMPLTED_LPOVERLAPPED_SENDPOST_REQ -2 |
#define CALCULATE_TRANSACTION_PER_SECOND |
#define ASSERT |