request ServerPublicInfo in ServerConnection_open()
This commit is contained in:
34
src/client/requests/requests.c
Normal file
34
src/client/requests/requests.c
Normal file
@@ -0,0 +1,34 @@
|
||||
#include "requests.h"
|
||||
|
||||
|
||||
Result(void) _recvResponse(EncryptedSocketTCP* sock,
|
||||
PacketHeader* res_header, Array(u8) res, PacketType res_type)
|
||||
{
|
||||
Deferral(4);
|
||||
|
||||
try_void(EncryptedSocketTCP_recvStruct(sock, res_header));
|
||||
try_void(PacketHeader_validateMagic(res_header));
|
||||
if(res_header->type == PacketType_ErrorMessage){
|
||||
str err_msg;
|
||||
try_void(recvErrorMessage(sock, res_header, &err_msg));
|
||||
Return RESULT_ERROR(err_msg.data, true);
|
||||
}
|
||||
|
||||
try_void(PacketHeader_validateType(res_header, res_type));
|
||||
try_void(PacketHeader_validateContentSize(res_header, res.size));
|
||||
|
||||
try_void(EncryptedSocketTCP_recv(sock, res, SocketRecvFlag_WholeBuffer));
|
||||
|
||||
Return RESULT_VOID;
|
||||
}
|
||||
|
||||
Result(void) _sendRequest(EncryptedSocketTCP* sock,
|
||||
PacketHeader* req_header, Array(u8) req)
|
||||
{
|
||||
Deferral(4);
|
||||
|
||||
try_void(EncryptedSocketTCP_sendStruct(sock, req_header));
|
||||
try_void(EncryptedSocketTCP_send(sock, req));
|
||||
|
||||
Return RESULT_VOID;
|
||||
}
|
||||
Reference in New Issue
Block a user