2 changed files with 64 additions and 74 deletions
@ -1,59 +1,58 @@ |
|||
/*
|
|||
* rpc_message.h |
|||
* 定义RPC消息的序列化和反序列化接口 |
|||
*/ |
|||
|
|||
#ifndef RPC_MESSAGE_H
|
|||
#define RPC_MESSAGE_H
|
|||
|
|||
#include "rpc_common.h"
|
|||
#include "rpc_transport.h"
|
|||
|
|||
/* 消息类型枚举 */ |
|||
typedef enum { |
|||
RPC_MESSAGE_REQUEST, // 请求消息
|
|||
RPC_MESSAGE_RESPONSE // 响应消息
|
|||
} rpc_message_type_t; |
|||
|
|||
/* RPC消息头部 */ |
|||
typedef struct { |
|||
rpc_message_type_t type; // 消息类型
|
|||
uint32_t payload_size; // 负载大小
|
|||
} rpc_message_header_t; |
|||
|
|||
/* RPC消息结构 */ |
|||
typedef struct { |
|||
rpc_message_header_t header; // 消息头部
|
|||
union { |
|||
rpc_request_t request; // 请求消息
|
|||
rpc_response_t response; // 响应消息
|
|||
} payload; // 消息负载
|
|||
} rpc_message_t; |
|||
|
|||
/* 消息处理函数声明 */ |
|||
|
|||
// 序列化请求消息到缓冲区
|
|||
int rpc_serialize_request(const rpc_request_t* request, void* buffer, size_t buffer_size); |
|||
|
|||
// 反序列化缓冲区到请求消息
|
|||
int rpc_deserialize_request(const void* buffer, size_t buffer_size, rpc_request_t* request); |
|||
|
|||
// 序列化响应消息到缓冲区
|
|||
int rpc_serialize_response(const rpc_response_t* response, void* buffer, size_t buffer_size); |
|||
|
|||
// 反序列化缓冲区到响应消息
|
|||
int rpc_deserialize_response(const void* buffer, size_t buffer_size, rpc_response_t* response); |
|||
|
|||
// 发送请求消息
|
|||
int rpc_send_request(rpc_transport_t* transport, const rpc_request_t* request); |
|||
|
|||
// 接收请求消息
|
|||
int rpc_recv_request(rpc_transport_t* transport, rpc_request_t* request); |
|||
|
|||
// 发送响应消息
|
|||
int rpc_send_response(rpc_transport_t* transport, const rpc_response_t* response); |
|||
|
|||
// 接收响应消息
|
|||
int rpc_recv_response(rpc_transport_t* transport, rpc_response_t* response); |
|||
|
|||
/*
|
|||
* rpc_message.h |
|||
* 定义RPC消息的序列化和反序列化接口 |
|||
*/ |
|||
#ifndef RPC_MESSAGE_H |
|||
#define RPC_MESSAGE_H |
|||
|
|||
#include "rpc_common.h" |
|||
#include "rpc_transport.h" |
|||
|
|||
/* 消息类型枚举 */ |
|||
typedef enum { |
|||
RPC_MESSAGE_REQUEST, // 请求消息
|
|||
RPC_MESSAGE_RESPONSE // 响应消息
|
|||
} rpc_message_type_t; |
|||
|
|||
/* RPC消息头部 */ |
|||
typedef struct { |
|||
rpc_message_type_t type; // 消息类型
|
|||
uint32_t payload_size; // 负载大小
|
|||
} rpc_message_header_t; |
|||
|
|||
/* RPC消息结构 */ |
|||
typedef struct { |
|||
rpc_message_header_t header; // 消息头部
|
|||
union { |
|||
rpc_request_t request; // 请求消息
|
|||
rpc_response_t response; // 响应消息
|
|||
} payload; // 消息负载
|
|||
} rpc_message_t; |
|||
|
|||
/* 消息处理函数声明 */ |
|||
|
|||
// 序列化请求消息到缓冲区
|
|||
int rpc_serialize_request(const rpc_request_t* request, void* buffer, size_t buffer_size); |
|||
|
|||
// 反序列化缓冲区到请求消息
|
|||
int rpc_deserialize_request(const void* buffer, size_t buffer_size, rpc_request_t* request); |
|||
|
|||
// 序列化响应消息到缓冲区
|
|||
int rpc_serialize_response(const rpc_response_t* response, void* buffer, size_t buffer_size); |
|||
|
|||
// 反序列化缓冲区到响应消息
|
|||
int rpc_deserialize_response(const void* buffer, size_t buffer_size, rpc_response_t* response); |
|||
|
|||
// 发送请求消息
|
|||
int rpc_send_request(rpc_transport_t* transport, const rpc_request_t* request); |
|||
|
|||
// 接收请求消息
|
|||
int rpc_recv_request(rpc_transport_t* transport, rpc_request_t* request); |
|||
|
|||
// 发送响应消息
|
|||
int rpc_send_response(rpc_transport_t* transport, const rpc_response_t* response); |
|||
|
|||
// 接收响应消息
|
|||
int rpc_recv_response(rpc_transport_t* transport, rpc_response_t* response); |
|||
|
|||
#endif /* RPC_MESSAGE_H */ |
|||
Loading…
Reference in new issue