Motr  M0
network.h
Go to the documentation of this file.
1 /* -*- C -*- */
2 /*
3  * Copyright (c) 2013-2020 Seagate Technology LLC and/or its Affiliates
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * For any questions about this software or licensing,
18  * please email opensource@seagate.com or cortx-questions@seagate.com.
19  *
20  */
21 
22 
23 #pragma once
24 
25 #ifndef __MOTR_NET_TEST_NETWORK_H__
26 #define __MOTR_NET_TEST_NETWORK_H__
27 
28 #include "net/net.h"
29 #include "net/test/serialize.h" /* m0_net_test_serialize_op */
30 #include "net/test/slist.h" /* m0_net_test_slist */
31 
48 };
49 
51 
60  const uint32_t buf_index,
61  enum m0_net_queue_type q,
62  const struct m0_net_buffer_event *ev);
63 
67 };
68 
72 };
73 
92  uint32_t ntncfg_ep_max;
100 };
101 
127  uint32_t ntc_ep_nr;
128 };
129 
154  struct m0_net_test_network_cfg *cfg,
155  const char *tm_addr);
160 
170  const char *ep_addr);
171 
182  const struct m0_net_test_slist *eps);
183 
194  uint32_t buf_ping_index,
195  uint32_t ep_index);
196 
203  uint32_t buf_ping_index,
204  struct m0_net_end_point *ep);
205 
211  uint32_t buf_ping_index);
212 
222  int32_t buf_bulk_index,
223  int32_t ep_index,
224  enum m0_net_queue_type q);
235  buf_type,
236  int32_t buf_index);
237 
262  uint32_t buf_bulk_index,
263  uint32_t buf_ping_index,
265 
274  uint32_t buf_ping_index);
275 
284  uint32_t buf_ping_index);
285 
289 struct m0_net_buffer *
292  uint32_t buf_index);
293 
300  uint32_t buf_index,
301  m0_bcount_t new_size);
302 
309  uint32_t buf_index,
310  uint8_t fill);
311 
313 struct m0_net_end_point *
314 m0_net_test_network_ep(struct m0_net_test_network_ctx *ctx, size_t ep_index);
315 
324  const char *ep_addr);
325 
331 
336 #endif /* __MOTR_NET_TEST_NETWORK_H__ */
337 
338 /*
339  * Local variables:
340  * c-indentation-style: "K&R"
341  * c-basic-offset: 8
342  * tab-width: 8
343  * fill-column: 79
344  * scroll-step: 1
345  * End:
346  */
uint32_t ntncfg_buf_ping_nr
Definition: network.h:86
static struct m0_semaphore q
Definition: rwlock.c:55
buf_type
Definition: service_ut.c:111
struct m0_net_domain * ntc_dom
Definition: network.h:111
static const char * ep_addr
Definition: rpc_machine.c:35
struct m0_net_end_point * m0_net_test_network_ep(struct m0_net_test_network_ctx *ctx, size_t ep_index)
Definition: network.c:783
size_t m0_net_test_network_bd_nr(struct m0_net_test_network_ctx *ctx, uint32_t buf_ping_index)
Definition: network.c:712
struct m0_net_buffer * ntc_buf_ping
Definition: network.h:115
uint64_t m0_time_t
Definition: time.h:37
m0_net_test_network_buffer_cb_proc_t ntnbc_cb[M0_NET_QT_NR]
Definition: network.h:66
void m0_net_test_network_buffer_dequeue(struct m0_net_test_network_ctx *ctx, enum m0_net_test_network_buf_type buf_type, int32_t buf_index)
Definition: network.c:500
uint64_t m0_bcount_t
Definition: types.h:77
m0_time_t ntnt_timeout[M0_NET_QT_NR]
Definition: network.h:71
bool m0_net_test_network_ctx_invariant(struct m0_net_test_network_ctx *ctx)
Definition: network.c:249
struct m0_net_test_network_cfg ntc_cfg
Definition: network.h:109
op
Definition: libdemo.c:64
Definition: sock.c:754
struct m0_net_buffer * m0_net_test_network_buf(struct m0_net_test_network_ctx *ctx, enum m0_net_test_network_buf_type buf_type, uint32_t buf_index)
Definition: network.c:725
int m0_net_test_network_buf_resize(struct m0_net_test_network_ctx *ctx, enum m0_net_test_network_buf_type buf_type, uint32_t buf_index, m0_bcount_t new_size)
Definition: network.c:741
m0_bcount_t ntncfg_buf_size_bulk
Definition: network.h:88
struct m0_net_test_network_buffer_callbacks ntncfg_buf_cb
Definition: network.h:82
int m0_net_test_network_msg_recv(struct m0_net_test_network_ctx *ctx, uint32_t buf_ping_index)
Definition: network.c:469
struct m0_net_test_network_timeouts m0_net_test_network_timeouts_never(void)
Definition: network.c:803
void m0_net_test_network_bd_nr_dec(struct m0_net_test_network_ctx *ctx, uint32_t buf_ping_index)
Definition: network.c:718
ssize_t m0_net_test_network_ep_search(struct m0_net_test_network_ctx *ctx, const char *ep_addr)
Definition: network.c:791
m0_net_test_network_buf_type
Definition: network.h:45
static m0_bindex_t offset
Definition: dump.c:173
static struct fdmi_ctx ctx
Definition: main.c:80
struct m0_net_transfer_mc * ntc_tm
Definition: network.h:113
void(* m0_net_test_network_buffer_cb_proc_t)(struct m0_net_test_network_ctx *ctx, const uint32_t buf_index, enum m0_net_queue_type q, const struct m0_net_buffer_event *ev)
Definition: network.h:59
void m0_net_test_network_ctx_fini(struct m0_net_test_network_ctx *ctx)
Definition: network.c:374
uint32_t ntncfg_ep_max
Definition: network.h:92
struct m0_net_buffer * ntc_buf_bulk
Definition: network.h:117
int m0_net_test_network_ctx_init(struct m0_net_test_network_ctx *ctx, struct m0_net_test_network_cfg *cfg, const char *tm_addr)
Definition: network.c:367
int m0_net_test_network_msg_send(struct m0_net_test_network_ctx *ctx, uint32_t buf_ping_index, uint32_t ep_index)
Definition: network.c:457
m0_net_test_serialize_op
Definition: serialize.h:42
m0_net_queue_type
Definition: net.h:591
m0_bcount_t ntncfg_buf_size_ping
Definition: network.h:84
struct m0_net_test_network_timeouts ntncfg_timeouts
Definition: network.h:97
uint32_t ntncfg_buf_bulk_nr
Definition: network.h:90
int m0_net_test_network_msg_send_ep(struct m0_net_test_network_ctx *ctx, uint32_t buf_ping_index, struct m0_net_end_point *ep)
Definition: network.c:442
int m0_net_test_network_ep_add(struct m0_net_test_network_ctx *ctx, const char *ep_addr)
Definition: network.c:380
Definition: nucleus.c:42
m0_bcount_t m0_net_test_network_bd_serialize(enum m0_net_test_serialize_op op, struct m0_net_test_network_ctx *ctx, uint32_t buf_bulk_index, uint32_t buf_ping_index, m0_bcount_t offset)
Definition: network.c:655
struct m0_net_end_point ** ntc_ep
Definition: network.h:125
void m0_net_test_network_buf_fill(struct m0_net_test_network_ctx *ctx, enum m0_net_test_network_buf_type buf_type, uint32_t buf_index, uint8_t fill)
Definition: network.c:756
int m0_net_test_network_ep_add_slist(struct m0_net_test_network_ctx *ctx, const struct m0_net_test_slist *eps)
Definition: network.c:400
int m0_net_test_network_bulk_enqueue(struct m0_net_test_network_ctx *ctx, int32_t buf_bulk_index, int32_t ep_index, enum m0_net_queue_type q)
Definition: network.c:479
struct m0_net_tm_callbacks ntncfg_tm_cb
Definition: network.h:80