Motr  M0
commands.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_COMMANDS_H__
26 #define __MOTR_NET_TEST_COMMANDS_H__
27 
28 #include "lib/semaphore.h" /* m0_semaphore */
29 
30 #include "net/test/slist.h" /* m0_net_test_slist */
31 #include "net/test/ringbuf.h" /* m0_net_test_ringbuf */
32 #include "net/test/stats.h" /* m0_net_test_stats */
33 #include "net/test/network.h" /* m0_net_test_network_ctx */
34 
45 enum {
54 };
55 
62 };
63 
72 };
73 
88 };
89 
96 };
97 
112  uint64_t ntci_msg_nr;
124  uint64_t ntci_bd_buf_nr;
136  uint64_t ntci_bd_nr_max;
155  char *ntci_tm_ep;
158 };
159 
193 };
194 
206  union {
210  };
218  ssize_t ntc_ep_index;
221 };
222 
233 };
234 
235 struct m0_net_test_cmd_ctx;
236 
239  size_t ep_index,
240  int buf_status);
241 
259  size_t ntcc_ep_nr;
282  size_t ntcc_send_nr;
289 };
290 
314  const char *cmd_ep,
315  m0_time_t send_timeout,
317  struct m0_net_test_slist *ep_list);
319 
325 
333  struct m0_net_test_cmd *cmd);
338 
355  struct m0_net_test_cmd *cmd,
356  m0_time_t deadline);
362  size_t buf_index);
368 
373 #endif /* __MOTR_NET_TEST_COMMANDS_H__ */
374 
375 /*
376  * Local variables:
377  * c-indentation-style: "K&R"
378  * c-basic-offset: 8
379  * tab-width: 8
380  * fill-column: 79
381  * scroll-step: 1
382  * End:
383  */
m0_net_test_type
Definition: commands.h:68
void m0_net_test_commands_received_free(struct m0_net_test_cmd *cmd)
Definition: commands.c:578
struct m0_net_end_point * ntcbs_ep
Definition: commands.h:228
struct m0_net_test_slist ntci_ep
Definition: commands.h:157
void m0_net_test_commands_fini(struct m0_net_test_cmd_ctx *ctx)
Definition: commands.c:451
m0_time_t ntci_buf_bulk_timeout
Definition: commands.h:153
struct m0_net_test_mps ntcsd_mps_recv
Definition: commands.h:186
void m0_net_test_commands_send_wait_all(struct m0_net_test_cmd_ctx *ctx)
Definition: commands.c:490
struct m0_net_test_stats ntcsd_rtt
Definition: commands.h:192
uint64_t m0_time_t
Definition: time.h:37
struct m0_net_test_cmd_status_data ntc_status_data
Definition: commands.h:209
m0_net_test_cmd_type
Definition: commands.h:78
struct m0_semaphore ntcc_sem_send
Definition: commands.h:267
int m0_net_test_commands_init(struct m0_net_test_cmd_ctx *ctx, const char *cmd_ep, m0_time_t send_timeout, m0_net_test_commands_send_cb_t send_cb, struct m0_net_test_slist *ep_list)
Definition: commands.c:441
uint64_t m0_bcount_t
Definition: types.h:77
int m0_net_test_commands_send(struct m0_net_test_cmd_ctx *ctx, struct m0_net_test_cmd *cmd)
Definition: commands.c:457
struct m0_net_test_msg_nr ntcsd_bulk_nr_send
Definition: commands.h:170
struct m0_net_test_msg_nr ntcsd_transfers
Definition: commands.h:174
m0_bcount_t ntci_msg_size
Definition: commands.h:118
bool m0_net_test_commands_invariant(struct m0_net_test_cmd_ctx *ctx)
Definition: commands.c:583
m0_time_t ntci_buf_send_timeout
Definition: commands.h:151
uint64_t ntci_bd_nr_max
Definition: commands.h:136
struct m0_net_test_cmd_init ntc_init
Definition: commands.h:208
enum m0_net_test_role ntci_role
Definition: commands.h:104
struct m0_net_test_mps ntcsd_mps_send
Definition: commands.h:184
struct m0_net_test_msg_nr ntcsd_msg_nr_recv
Definition: commands.h:168
struct m0_semaphore ntcc_sem_recv
Definition: commands.h:275
int m0_net_test_commands_recv_enqueue(struct m0_net_test_cmd_ctx *ctx, size_t buf_index)
Definition: commands.c:570
m0_bcount_t ntci_bd_buf_size
Definition: commands.h:130
m0_net_test_role
Definition: commands.h:59
uint64_t ntci_msg_nr
Definition: commands.h:112
uint64_t ntci_msg_concurrency
Definition: commands.h:144
void(* m0_net_test_commands_send_cb_t)(struct m0_net_test_cmd_ctx *ctx, size_t ep_index, int buf_status)
Definition: commands.h:238
static struct fdmi_ctx ctx
Definition: main.c:80
struct m0_net_test_msg_nr ntcsd_msg_nr_send
Definition: commands.h:166
enum m0_net_test_type ntci_type
Definition: commands.h:106
uint64_t ntci_bd_buf_nr
Definition: commands.h:124
ssize_t ntc_ep_index
Definition: commands.h:218
size_t ntc_buf_index
Definition: commands.h:220
struct m0_net_test_cmd_done ntc_done
Definition: commands.h:207
m0_net_test_commands_send_cb_t ntcc_send_cb
Definition: commands.h:277
struct m0_net_test_cmd_buf_status * ntcc_buf_status
Definition: commands.h:288
struct m0_net_test_msg_nr ntcsd_bulk_nr_recv
Definition: commands.h:172
struct m0_net_test_network_ctx ntcc_net
Definition: commands.h:251
struct m0_mutex ntcc_send_mutex
Definition: commands.h:284
enum m0_net_test_cmd_type ntc_type
Definition: commands.h:204
struct m0_net_test_ringbuf ntcc_rb
Definition: commands.h:257
Definition: nucleus.c:42
Definition: mutex.h:47
int m0_net_test_commands_recv(struct m0_net_test_cmd_ctx *ctx, struct m0_net_test_cmd *cmd, m0_time_t deadline)
Definition: commands.c:511