struct fast_task_info support padding_size for RDMA connection
parent
5a29dffc50
commit
e22400fa1c
|
|
@ -495,7 +495,7 @@ static int do_init()
|
||||||
receipt_alloc_thread_extra_data, receipt_thread_loop_callback,
|
receipt_alloc_thread_extra_data, receipt_thread_loop_callback,
|
||||||
NULL, sf_proto_set_body_length, NULL, NULL, receipt_deal_task,
|
NULL, sf_proto_set_body_length, NULL, NULL, receipt_deal_task,
|
||||||
receipt_task_finish_cleanup, receipt_recv_timeout_callback,
|
receipt_task_finish_cleanup, receipt_recv_timeout_callback,
|
||||||
1000, sizeof(SFCommonProtoHeader), 0, receipt_init_task, NULL);
|
1000, sizeof(SFCommonProtoHeader), 0, 0, receipt_init_task, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
int receipt_handler_init()
|
int receipt_handler_init()
|
||||||
|
|
|
||||||
|
|
@ -66,8 +66,8 @@ int sf_init_task(struct fast_task_info *task)
|
||||||
|
|
||||||
static void *worker_thread_entrance(void *arg);
|
static void *worker_thread_entrance(void *arg);
|
||||||
|
|
||||||
static int sf_init_free_queues(const int task_arg_size,
|
static int sf_init_free_queues(const int task_padding_size,
|
||||||
TaskInitCallback init_callback)
|
const int task_arg_size, TaskInitCallback init_callback)
|
||||||
{
|
{
|
||||||
#define ALLOC_CONNECTIONS_ONCE 1024
|
#define ALLOC_CONNECTIONS_ONCE 1024
|
||||||
|
|
||||||
|
|
@ -100,7 +100,7 @@ static int sf_init_free_queues(const int task_arg_size,
|
||||||
if ((result=free_queue_init_ex2(g_sf_global_vars.max_connections,
|
if ((result=free_queue_init_ex2(g_sf_global_vars.max_connections,
|
||||||
init_connections, alloc_conn_once, g_sf_global_vars.
|
init_connections, alloc_conn_once, g_sf_global_vars.
|
||||||
min_buff_size, g_sf_global_vars.max_buff_size,
|
min_buff_size, g_sf_global_vars.max_buff_size,
|
||||||
task_arg_size, init_callback != NULL ?
|
task_padding_size, task_arg_size, init_callback != NULL ?
|
||||||
init_callback : sf_init_task)) != 0)
|
init_callback : sf_init_task)) != 0)
|
||||||
{
|
{
|
||||||
return result;
|
return result;
|
||||||
|
|
@ -119,9 +119,9 @@ int sf_service_init_ex2(SFContext *sf_context, const char *name,
|
||||||
sf_send_done_callback send_done_callback,
|
sf_send_done_callback send_done_callback,
|
||||||
sf_deal_task_func deal_func, TaskCleanUpCallback task_cleanup_func,
|
sf_deal_task_func deal_func, TaskCleanUpCallback task_cleanup_func,
|
||||||
sf_recv_timeout_callback timeout_callback, const int net_timeout_ms,
|
sf_recv_timeout_callback timeout_callback, const int net_timeout_ms,
|
||||||
const int proto_header_size, const int task_arg_size,
|
const int proto_header_size, const int task_padding_size,
|
||||||
TaskInitCallback init_callback, sf_release_buffer_callback
|
const int task_arg_size, TaskInitCallback init_callback,
|
||||||
release_buffer_callback)
|
sf_release_buffer_callback release_buffer_callback)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
int bytes;
|
int bytes;
|
||||||
|
|
@ -142,7 +142,9 @@ int sf_service_init_ex2(SFContext *sf_context, const char *name,
|
||||||
send_done_callback, deal_func, task_cleanup_func,
|
send_done_callback, deal_func, task_cleanup_func,
|
||||||
timeout_callback, release_buffer_callback);
|
timeout_callback, release_buffer_callback);
|
||||||
|
|
||||||
if ((result=sf_init_free_queues(task_arg_size, init_callback)) != 0) {
|
if ((result=sf_init_free_queues(task_padding_size,
|
||||||
|
task_arg_size, init_callback)) != 0)
|
||||||
|
{
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,9 +43,9 @@ int sf_service_init_ex2(SFContext *sf_context, const char *name,
|
||||||
sf_send_done_callback send_done_callback,
|
sf_send_done_callback send_done_callback,
|
||||||
sf_deal_task_func deal_func, TaskCleanUpCallback task_cleanup_func,
|
sf_deal_task_func deal_func, TaskCleanUpCallback task_cleanup_func,
|
||||||
sf_recv_timeout_callback timeout_callback, const int net_timeout_ms,
|
sf_recv_timeout_callback timeout_callback, const int net_timeout_ms,
|
||||||
const int proto_header_size, const int task_arg_size,
|
const int proto_header_size, const int task_padding_size,
|
||||||
TaskInitCallback init_callback, sf_release_buffer_callback
|
const int task_arg_size, TaskInitCallback init_callback,
|
||||||
release_buffer_callback);
|
sf_release_buffer_callback release_buffer_callback);
|
||||||
|
|
||||||
#define sf_service_init_ex(sf_context, name, alloc_thread_extra_data_callback,\
|
#define sf_service_init_ex(sf_context, name, alloc_thread_extra_data_callback,\
|
||||||
thread_loop_callback, accept_done_callback, set_body_length_func, \
|
thread_loop_callback, accept_done_callback, set_body_length_func, \
|
||||||
|
|
@ -55,7 +55,7 @@ int sf_service_init_ex2(SFContext *sf_context, const char *name,
|
||||||
thread_loop_callback, accept_done_callback, set_body_length_func, \
|
thread_loop_callback, accept_done_callback, set_body_length_func, \
|
||||||
NULL, send_done_callback, deal_func, task_cleanup_func, \
|
NULL, send_done_callback, deal_func, task_cleanup_func, \
|
||||||
timeout_callback, net_timeout_ms, proto_header_size, \
|
timeout_callback, net_timeout_ms, proto_header_size, \
|
||||||
task_arg_size, NULL, NULL)
|
0, task_arg_size, NULL, NULL)
|
||||||
|
|
||||||
#define sf_service_init(name, alloc_thread_extra_data_callback, \
|
#define sf_service_init(name, alloc_thread_extra_data_callback, \
|
||||||
thread_loop_callback, accept_done_callback, set_body_length_func, \
|
thread_loop_callback, accept_done_callback, set_body_length_func, \
|
||||||
|
|
@ -64,7 +64,7 @@ int sf_service_init_ex2(SFContext *sf_context, const char *name,
|
||||||
sf_service_init_ex2(&g_sf_context, name, alloc_thread_extra_data_callback, \
|
sf_service_init_ex2(&g_sf_context, name, alloc_thread_extra_data_callback, \
|
||||||
thread_loop_callback, accept_done_callback, set_body_length_func, NULL, \
|
thread_loop_callback, accept_done_callback, set_body_length_func, NULL, \
|
||||||
send_done_callback, deal_func, task_cleanup_func, timeout_callback, \
|
send_done_callback, deal_func, task_cleanup_func, timeout_callback, \
|
||||||
net_timeout_ms, proto_header_size, task_arg_size, NULL, NULL)
|
net_timeout_ms, proto_header_size, 0, task_arg_size, NULL, NULL)
|
||||||
|
|
||||||
int sf_service_destroy_ex(SFContext *sf_context);
|
int sf_service_destroy_ex(SFContext *sf_context);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -88,10 +88,12 @@ typedef struct sf_listener {
|
||||||
} SFListener;
|
} SFListener;
|
||||||
|
|
||||||
struct sf_context;
|
struct sf_context;
|
||||||
|
struct ibv_pd;
|
||||||
typedef struct sf_network_handler {
|
typedef struct sf_network_handler {
|
||||||
bool enabled;
|
bool enabled;
|
||||||
FCNetworkType type;
|
FCNetworkType type;
|
||||||
struct sf_context *ctx;
|
struct sf_context *ctx;
|
||||||
|
struct ibv_pd *pd;
|
||||||
|
|
||||||
SFListener inner;
|
SFListener inner;
|
||||||
SFListener outer;
|
SFListener outer;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue