/* * rpc_client.h * * Created on: 2011-3-21 * Author: yanghu */ #ifndef RPC_CLIENT_H_ #define RPC_CLIENT_H_ #include "rpc_common.h" #define CLIENT_THREAD_NUM 1 struct _rpc_client { char *host; int port; rpc_client_thread *threads; int thread_count; int last_thread; int init_count; pthread_cond_t cond; pthread_mutex_t mutex; }; rpc_client* rpc_client_new(); void rpc_client_destroy(rpc_client *client); boolean rpc_client_connect(rpc_client* client, char* host, int port); rpc_client* rpc_client_connect_ex(char *dst_name); ret_code rpc_client_call(rpc_client* client, char* service_name, char* method_name, pointer input, int input_len, pointer* output, int* output_len); ret_code rpc_client_recall(rpc_client**pclient, char* mod_name, char* service_name, char* method_name, pointer input, int input_len, pointer* output, int* output_len); void rpc_client_call_async_thread(rpc_client* client, char* service_name, char* method_name, pointer input, int input_len, rpc_callback callback, pointer data); ret_code rpc_client_call_async(rpc_client* client, char* service_name, char* method_name, pointer input, int input_len, rpc_callback callback, pointer data); ret_code rpc_client_recall_async(rpc_client**pclient, char* mod_name, char* service_name, char* method_name, pointer input, int input_len, rpc_callback callback, pointer data); #endif /* RPC_CLIENT_H_ */