2021SC@SDUSC
searpc项目结构分析
searpc-client
根据searpc-demo-client.c
中函数调用顺序对searpc-client.c
进行分析
searpc_client_new
searpc_client_new ()
{
return g_new0 (SearpcClient, 1);
}
typedef char *(*TransportCB)(void *arg, const gchar *fcall_str,
size_t fcall_len, size_t *ret_len);
typedef int (*AsyncTransportSend)(void *arg, gchar *fcall_str,
size_t fcall_len, void *rpc_priv);
struct _SearpcClient {
TransportCB send;
void *arg;
AsyncTransportSend async_send;
void *async_arg;
};
typedef struct _SearpcClient LIBSEARPC_API SearpcClient;
本函数的作用是创建一个SearpcClient
,即rpc客户端
SearpcClient
的属性包含传输函数与用于传输的sockfd
-
sockfd:fild descriptor,就是一个套接字描述器。Unix中文件描述符用int
AsyncTransportSend
为一个异步的传输函