diff options
Diffstat (limited to 'ctdb/ib/ibwrapper_internal.h')
-rw-r--r-- | ctdb/ib/ibwrapper_internal.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/ctdb/ib/ibwrapper_internal.h b/ctdb/ib/ibwrapper_internal.h index b819c483d3d..6e34917755b 100644 --- a/ctdb/ib/ibwrapper_internal.h +++ b/ctdb/ib/ibwrapper_internal.h @@ -22,10 +22,11 @@ */ struct ibw_opts { - int max_send_wr; - int max_recv_wr; - int avg_send_size; - int recv_bufsize; + uint32_t max_send_wr; + uint32_t max_recv_wr; + uint32_t avg_send_size; + uint32_t recv_bufsize; + uint32_t recv_threshold; }; struct ibw_wr { @@ -56,6 +57,13 @@ struct ibw_ctx_priv { long pagesize; /* sysconf result for memalign */ }; +struct ibw_part { + char *buf; /* talloced memory buffer */ + uint32_t bufsize; /* allocated size of buf - always grows */ + uint32_t len; /* message part length */ + uint32_t to_read; /* 4 or *((uint32_t)buf) if len>=sizeof(uint32_t) */ +}; + struct ibw_conn_priv { struct ibv_comp_channel *verbs_channel; struct fd_event *verbs_channel_event; @@ -74,6 +82,7 @@ struct ibw_conn_priv { /* buf_recv is a ring buffer */ char *buf_recv; /* max_recv_wr * avg_recv_size */ struct ibv_mr *mr_recv; - int recv_index; /* index of the next recv buffer */ + int recv_index; /* index of the next recv buffer when refilling */ + struct ibw_part part; }; |