type define for RDMA network

support_rdma
YuQing 2023-09-04 08:51:35 +08:00
parent 05a694df77
commit d5f6a192a5
2 changed files with 21 additions and 14 deletions

View File

@ -40,11 +40,16 @@ extern "C" {
(strcmp((conn1).ip_addr, (conn2).ip_addr) == 0 && \ (strcmp((conn1).ip_addr, (conn2).ip_addr) == 0 && \
(conn1).port == (conn2).port) (conn1).port == (conn2).port)
typedef struct typedef enum {
{ fc_network_type_sock = 0,
fc_network_type_rdma
} FCNetworkType;
typedef struct {
int sock; int sock;
uint16_t port; uint16_t port;
short socket_domain; //socket domain, AF_INET, AF_INET6 or AF_UNSPEC for auto dedect short socket_domain; //socket domain, AF_INET, AF_INET6 or AF_UNSPEC for auto dedect
FCNetworkType network_type;
bool validate_flag; //for connection pool bool validate_flag; //for connection pool
char ip_addr[INET6_ADDRSTRLEN]; char ip_addr[INET6_ADDRSTRLEN];
char args[0]; //for extra data char args[0]; //for extra data

View File

@ -42,6 +42,7 @@ typedef int (*TaskInitCallback)(struct fast_task_info *pTask);
typedef void (*IOEventCallback) (int sock, short event, void *arg); typedef void (*IOEventCallback) (int sock, short event, void *arg);
typedef int (*TaskContinueCallback)(struct fast_task_info *task); typedef int (*TaskContinueCallback)(struct fast_task_info *task);
struct sf_network_handler;
struct fast_task_info; struct fast_task_info;
typedef struct ioevent_entry typedef struct ioevent_entry
@ -109,9 +110,10 @@ struct fast_task_info
TaskContinueCallback continue_callback; //for continue stage TaskContinueCallback continue_callback; //for continue stage
TaskFinishCallback finish_callback; TaskFinishCallback finish_callback;
struct nio_thread_data *thread_data; struct nio_thread_data *thread_data;
void *ctx; //context pointer for libserverframe nio struct sf_network_handler *handler; //network handler for libserverframe nio
struct fast_task_info *next; //for free queue and deleted list struct fast_task_info *next; //for free queue and deleted list
struct fast_task_info *notify_next; //for nio notify queue struct fast_task_info *notify_next; //for nio notify queue
char conn[0]; //for RDMA connection
}; };
struct fast_task_queue struct fast_task_queue