#include "request_handlers.h" declare_RequestHandler(NAME) { Deferral(4); logInfo(log_ctx, "requested %s", req_type_name); // receive request NAME##Request req; try_void(PacketHeader_validateContentSize(req_head, sizeof(req))); try_void(EncryptedSocketTCP_recvStruct(&conn->sock, &req)); // send response NAME##Response res; NAME##Response_construct(&res, res_head, ); try_void(EncryptedSocketTCP_sendStruct(&conn->sock, res_head)); try_void(EncryptedSocketTCP_sendStruct(&conn->sock, &res)); Return RESULT_VOID; }