implemented channels on server

This commit is contained in:
2025-12-02 20:28:56 +05:00
parent c263d02b36
commit 6d1f450f32
26 changed files with 451 additions and 147 deletions

View File

@@ -45,7 +45,7 @@ str validateUsername_str(str username){
void ErrorMessage_construct(ErrorMessage* ptr, PacketHeader* header, u32 msg_size){
_PacketHeader_construct(ErrorMessage);
memset(ptr, 0, sizeof(*ptr));
zeroStruct(ptr);
ptr->msg_size = msg_size;
}
@@ -54,7 +54,7 @@ Result(void) ClientHandshake_tryConstruct(ClientHandshake* ptr, PacketHeader* he
{
Deferral(1);
_PacketHeader_construct(ClientHandshake);
memset(ptr, 0, sizeof(*ptr));
zeroStruct(ptr);
try_assert(session_key.len == sizeof(ptr->session_key));
memcpy(ptr->session_key, session_key.data, session_key.len);
@@ -66,7 +66,7 @@ void ServerHandshake_construct(ServerHandshake* ptr, PacketHeader* header,
u64 session_id)
{
_PacketHeader_construct(ServerHandshake);
memset(ptr, 0, sizeof(*ptr));
zeroStruct(ptr);
ptr->session_id = session_id;
}
@@ -74,7 +74,7 @@ void ServerPublicInfoRequest_construct(ServerPublicInfoRequest *ptr, PacketHeade
ServerPublicInfo property)
{
_PacketHeader_construct(ServerPublicInfoRequest);
memset(ptr, 0, sizeof(*ptr));
zeroStruct(ptr);
ptr->property = property;
}
@@ -82,7 +82,7 @@ void ServerPublicInfoResponse_construct(ServerPublicInfoResponse* ptr, PacketHea
u32 data_size)
{
_PacketHeader_construct(ServerPublicInfoResponse);
memset(ptr, 0, sizeof(*ptr));
zeroStruct(ptr);
ptr->data_size = data_size;
}
@@ -91,7 +91,7 @@ Result(void) LoginRequest_tryConstruct(LoginRequest *ptr, PacketHeader* header,
{
Deferral(1);
_PacketHeader_construct(LoginRequest);
memset(ptr, 0, sizeof(*ptr));
zeroStruct(ptr);
str name_error_str = validateUsername_str(username);
if(name_error_str.data){
@@ -109,7 +109,7 @@ void LoginResponse_construct(LoginResponse* ptr, PacketHeader* header,
u64 user_id, u64 landing_channel_id)
{
_PacketHeader_construct(LoginResponse);
memset(ptr, 0, sizeof(*ptr));
zeroStruct(ptr);
ptr->user_id = user_id;
ptr->landing_channel_id = landing_channel_id;
@@ -120,7 +120,7 @@ Result(void) RegisterRequest_tryConstruct(RegisterRequest *ptr, PacketHeader* he
{
Deferral(1);
_PacketHeader_construct(RegisterRequest);
memset(ptr, 0, sizeof(*ptr));
zeroStruct(ptr);
str name_error_str = validateUsername_str(username);
if(name_error_str.data){
@@ -138,6 +138,43 @@ void RegisterResponse_construct(RegisterResponse *ptr, PacketHeader* header,
u64 user_id)
{
_PacketHeader_construct(RegisterResponse);
memset(ptr, 0, sizeof(*ptr));
zeroStruct(ptr);
ptr->user_id = user_id;
}
void SendMessageRequest_construct(SendMessageRequest *ptr, PacketHeader *header,
u64 channel_id, u16 data_size)
{
_PacketHeader_construct(SendMessageRequest);
zeroStruct(ptr);
ptr->channel_id = channel_id;
ptr->data_size = data_size;
}
void SendMessageResponse_construct(SendMessageResponse *ptr, PacketHeader *header,
u64 message_id, DateTime receiving_time_utc)
{
_PacketHeader_construct(SendMessageResponse);
zeroStruct(ptr);
ptr->message_id = message_id;
ptr->receiving_time_utc = receiving_time_utc;
}
void GetMessageBlockRequest_construct(GetMessageBlockRequest *ptr, PacketHeader *header,
u64 first_message_id, u32 messages_count)
{
_PacketHeader_construct(GetMessageBlockRequest);
zeroStruct(ptr);
ptr->first_message_id = first_message_id;
ptr->messages_count = messages_count;
}
void GetMessageBlockResponse_construct(GetMessageBlockResponse *ptr, PacketHeader *header,
u64 first_message_id, u32 messages_count, u32 data_size)
{
_PacketHeader_construct(GetMessageBlockResponse);
zeroStruct(ptr);
ptr->first_message_id = first_message_id;
ptr->messages_count = messages_count;
ptr->data_size = data_size;
}