107 if (p_dest_ep ==
NULL)
121 if (dest_tm !=
NULL) {
133 if (dest_tm !=
NULL ||
rc != 0)
136 if (
rc == 0 && dest_tm ==
NULL)
145 *p_dest_tm = dest_tm;
146 if (p_dest_ep !=
NULL) {
148 *p_dest_ep = dest_ep;
182 bool found_dest_nb =
false;
203 found_dest_nb =
true;
207 if (!found_dest_nb) {
uint64_t nqs_num_f_events
static void mem_wf_msg_send(struct m0_net_transfer_mc *tm, struct m0_net_bulk_mem_work_item *wi)
static void mem_wf_msg_recv_cb(struct m0_net_transfer_mc *tm, struct m0_net_bulk_mem_work_item *wi)
struct m0_net_transfer_mc * nb_tm
M0_INTERNAL void m0_mutex_unlock(struct m0_mutex *mutex)
static struct m0_net_buffer * mem_wi_to_buffer(struct m0_net_bulk_mem_work_item *wi)
static bool mem_tm_invariant(const struct m0_net_transfer_mc *tm)
static int mem_copy_buffer(struct m0_net_buffer *dest_nb, struct m0_net_buffer *src_nb, m0_bcount_t num_bytes)
M0_INTERNAL bool m0_mutex_is_not_locked(const struct m0_mutex *mutex)
static struct m0_list mem_domains
struct m0_net_qstats ntm_qstats[M0_NET_QT_NR]
enum m0_net_tm_state ntm_state
static void mem_wi_add(struct m0_net_bulk_mem_work_item *wi, struct m0_net_bulk_mem_tm_pvt *tp)
static void mem_wi_post_buffer_event(struct m0_net_bulk_mem_work_item *wi)
enum m0_net_bulk_mem_work_opcode xwi_op
struct m0_net_domain * ntm_dom
struct m0_mutex m0_net_mutex
struct m0_net_end_point * xwi_nbe_ep
M0_INTERNAL void m0_mutex_lock(struct m0_mutex *mutex)
static bool mem_eps_are_equal(const struct m0_net_end_point *ep1, const struct m0_net_end_point *ep2)
static struct m0_net_bulk_mem_end_point * mem_ep_to_pvt(const struct m0_net_end_point *ep)
static void mem_post_error(struct m0_net_transfer_mc *tm, int status)
enum m0_net_queue_type nb_qtype
m0_bcount_t xwi_nbe_length
#define m0_list_for_each_entry(head, pos, type, member)
M0_INTERNAL bool m0_mutex_is_locked(const struct m0_mutex *mutex)
static int mem_find_remote_tm(struct m0_net_transfer_mc *tm, struct m0_net_end_point *match_ep, struct m0_net_transfer_mc **p_dest_tm, struct m0_net_end_point **p_dest_ep)
static struct m0_net_bulk_mem_work_item * mem_buffer_to_wi(struct m0_net_buffer *buf)
static m0_bcount_t mem_buffer_length(const struct m0_net_buffer *nb)
struct m0_tl ntm_q[M0_NET_QT_NR]
void m0_net_end_point_put(struct m0_net_end_point *ep)
struct m0_net_end_point * ntm_ep
M0_INTERNAL bool m0_net__tm_invariant(const struct m0_net_transfer_mc *tm)
struct sockaddr_in xep_sa
static bool mem_buffer_invariant(const struct m0_net_buffer *nb)
struct m0_net_domain * xd_dom
static struct m0_net_bulk_mem_tm_pvt * mem_tm_to_pvt(const struct m0_net_transfer_mc *tm)
#define m0_tl_for(name, head, obj)
struct m0_net_end_point * nb_ep
static int mem_bmo_ep_create(struct m0_net_end_point **epp, struct m0_net_transfer_mc *tm, const struct sockaddr_in *sa, uint32_t id)