비트 딱 맞는지 리눅스에서도 확인할 것
This commit is contained in:
@@ -27,7 +27,7 @@ enum class DataType : std::uint8_t {
|
||||
BINARY
|
||||
};
|
||||
|
||||
class alignas(1) Packet {
|
||||
class alignas(4) Packet {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
@@ -35,7 +35,7 @@ public:
|
||||
RequestType requestType;
|
||||
DataType dataType;
|
||||
std::uint16_t packetLength;
|
||||
std::uint8_t data[1495];
|
||||
std::uint8_t data[1484];
|
||||
} __data;
|
||||
std::uint8_t serialized[1500];
|
||||
};
|
||||
@@ -49,7 +49,7 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class alignas(1) LoginRequestPacket : public Packet {
|
||||
class alignas(4) LoginRequestPacket : public Packet {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
@@ -63,7 +63,7 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class alignas(1) RoomCreateRequestPacket : public Packet {
|
||||
class alignas(4) RoomCreateRequestPacket : public Packet {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class alignas(1) RoomListRequestPacket : public Packet {
|
||||
class alignas(4) RoomListRequestPacket : public Packet {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
@@ -92,7 +92,7 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class alignas(1) RoomJoinRequestPacket : public Packet {
|
||||
class alignas(4) RoomJoinRequestPacket : public Packet {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
@@ -106,7 +106,7 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class alignas(1) RoomExitRequestPacket : public Packet {
|
||||
class alignas(4) RoomExitRequestPacket : public Packet {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class alignas(1) UsersListRequestPacket : public Packet {
|
||||
class alignas(4) UsersListRequestPacket : public Packet {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
@@ -135,7 +135,7 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class alignas(1) DataPostPacket : public Packet {
|
||||
class alignas(4) DataPostPacket : public Packet {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
@@ -149,7 +149,7 @@ public:
|
||||
};
|
||||
};
|
||||
|
||||
class alignas(1) ContinuePacket : public Packet {
|
||||
class alignas(4) ContinuePacket : public Packet {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
@@ -173,7 +173,7 @@ enum class ResponseStatusCode : std::uint16_t {
|
||||
INTERNAL_SERVER_ERROR = 500
|
||||
};
|
||||
|
||||
class alignas(1) ResponsePacket : public Packet {
|
||||
class alignas(4) ResponsePacket : public Packet {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
namespace Chattr {
|
||||
class Session {
|
||||
public:
|
||||
Session();
|
||||
Session(Chattr::TCPSocket __sock);
|
||||
~Session();
|
||||
|
||||
bool init();
|
||||
void init(Chattr::TCPSocket __sock);
|
||||
void destruct();
|
||||
|
||||
int send();
|
||||
|
||||
@@ -1,10 +1,23 @@
|
||||
#pragma once
|
||||
#include "Utils/ThreadPool.hpp"
|
||||
|
||||
namespace Chattr {
|
||||
class IOCP {
|
||||
public:
|
||||
IOCP();
|
||||
|
||||
IOCP(std::shared_ptr<ThreadPool> __IOCPThread);
|
||||
~IOCP();
|
||||
|
||||
void init(std::shared_ptr<ThreadPool> __IOCPThread);
|
||||
|
||||
void recv();
|
||||
|
||||
private:
|
||||
std::shared_ptr<ThreadPool> IOCPThread_;
|
||||
|
||||
#ifdef _WIN32
|
||||
HANDLE completinPort_;
|
||||
#elif __linux__
|
||||
|
||||
#endif
|
||||
};
|
||||
}
|
||||
@@ -11,9 +11,12 @@ namespace Chattr {
|
||||
|
||||
class ThreadPool {
|
||||
public:
|
||||
ThreadPool();
|
||||
ThreadPool(std::uint32_t numThreads);
|
||||
~ThreadPool();
|
||||
|
||||
void init(std::uint32_t numThreads);
|
||||
|
||||
template<typename _Callable, typename... _Args>
|
||||
requires (!std::is_void_v<std::invoke_result_t<_Callable, _Args...>>)
|
||||
int enqueueJob(_Callable&& __job, std::invoke_result_t<_Callable, _Args...>& retVal, _Args&&... __args) {
|
||||
|
||||
Reference in New Issue
Block a user