JNetLibray
로딩중...
검색중...
일치하는것 없음
JNetCore.h 파일 참조
#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 ()
 

매크로 문서화

◆ JBUFF_DIRPTR_MANUAL_RESET

#define JBUFF_DIRPTR_MANUAL_RESET

◆ IOCP_COMPLTED_LPOVERLAPPED_DISCONNECT

#define IOCP_COMPLTED_LPOVERLAPPED_DISCONNECT   -1

◆ IOCP_COMPLTED_LPOVERLAPPED_SENDPOST_REQ

#define IOCP_COMPLTED_LPOVERLAPPED_SENDPOST_REQ   -2

◆ CALCULATE_TRANSACTION_PER_SECOND

#define CALCULATE_TRANSACTION_PER_SECOND

◆ ASSERT

#define ASSERT