Motr  M0
node_ping.c File Reference
#include "lib/memory.h"
#include "lib/misc.h"
#include "lib/time.h"
#include "lib/errno.h"
#include "lib/thread.h"
#include "lib/tlist.h"
#include "motr/magic.h"
#include "net/test/network.h"
#include "net/test/node.h"
#include "net/test/node_helper.h"
#include "net/test/node_ping.h"
#include "net/test/debug.h"
Include dependency graph for node_ping.c:

Go to the source code of this file.

Data Structures

struct  buf_state
 
struct  node_ping_client_ctx
 
struct  node_ping_server_ctx
 
struct  node_ping_ctx
 

Macros

#define NET_TEST_MODULE_NAME   node_ping
 

Enumerations

enum  { TO_CHECK_INTERVAL = 10 }
 

Functions

 M0_TL_DESCR_DEFINE (buf_state, "buf_state", static, struct buf_state, bs_link, bs_link_magic, M0_NET_TEST_BS_LINK_MAGIC, M0_NET_TEST_BS_HEAD_MAGIC)
 
 M0_TL_DEFINE (buf_state, static, struct buf_state)
 
static void sd_update (struct node_ping_ctx *ctx, enum m0_net_test_nh_msg_type type, enum m0_net_test_nh_msg_status status, enum m0_net_test_nh_msg_direction direction)
 
static void node_ping_tm_event_cb (const struct m0_net_tm_event *ev)
 
static struct node_ping_ctxnode_ping_ctx_from_net_ctx (struct m0_net_test_network_ctx *net_ctx)
 
static m0_time_t node_ping_timestamp_put (struct m0_net_test_network_ctx *net_ctx, uint32_t buf_index, uint64_t seq)
 
static bool node_ping_timestamp_get (struct m0_net_test_network_ctx *net_ctx, uint32_t buf_index, struct m0_net_test_timestamp *ts)
 
static void node_ping_to_add (struct node_ping_ctx *ctx, size_t buf_index)
 
static void node_ping_to_del (struct node_ping_ctx *ctx, size_t buf_index)
 
static ssize_t node_ping_to_peek (struct node_ping_ctx *ctx)
 
static ssize_t node_ping_client_search_seq (struct node_ping_ctx *ctx, size_t server_index, uint64_t seq)
 
static void node_ping_buf_enqueue (struct node_ping_ctx *ctx, size_t buf_index, enum m0_net_queue_type q, struct m0_net_end_point *ep, size_t ep_index)
 
static void node_ping_buf_enqueue_recv (struct node_ping_ctx *ctx, size_t buf_index)
 
static void node_ping_client_send (struct node_ping_ctx *ctx, size_t buf_index)
 
static void node_ping_client_cb2 (struct node_ping_ctx *ctx, size_t buf_index)
 
static bool node_ping_client_recv_cb (struct node_ping_ctx *ctx, struct buf_state *bs, size_t buf_index)
 
static void node_ping_msg_cb (struct m0_net_test_network_ctx *net_ctx, uint32_t buf_index, enum m0_net_queue_type q, const struct m0_net_buffer_event *ev)
 
static void node_ping_cb_impossible (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)
 
static void node_ping_to_check (struct node_ping_ctx *ctx)
 
static void node_ping_client_handle (struct node_ping_ctx *ctx, struct buf_state *bs, size_t buf_index)
 
static void node_ping_server_handle (struct node_ping_ctx *ctx, struct buf_state *bs, size_t buf_index)
 
static void node_ping_worker (struct node_ping_ctx *ctx)
 
static void node_ping_rb_fill (struct node_ping_ctx *ctx)
 
static int node_ping_test_init_fini (struct node_ping_ctx *ctx, const struct m0_net_test_cmd *cmd)
 
static void * node_ping_initfini (void *ctx_, struct m0_net_test_service *svc)
 
static void * node_ping_init (struct m0_net_test_service *svc)
 
static void node_ping_fini (void *ctx_)
 
static int node_ping_step (void *ctx_)
 
static int node_ping_cmd_init (void *ctx_, const struct m0_net_test_cmd *cmd, struct m0_net_test_cmd *reply)
 
static int node_ping_cmd_start (void *ctx_, const struct m0_net_test_cmd *cmd, struct m0_net_test_cmd *reply)
 
static int node_ping_cmd_stop (void *ctx_, const struct m0_net_test_cmd *cmd, struct m0_net_test_cmd *reply)
 
static int node_ping_cmd_status (void *ctx_, const struct m0_net_test_cmd *cmd, struct m0_net_test_cmd *reply)
 

Variables

static const struct m0_net_tm_callbacks node_ping_tm_cb
 
static struct m0_net_test_network_buffer_callbacks node_ping_buf_cb
 
static struct m0_net_test_service_cmd_handler node_ping_cmd_handler []
 
struct m0_net_test_service_ops m0_net_test_node_ping_ops
 

Macro Definition Documentation

◆ NET_TEST_MODULE_NAME

#define NET_TEST_MODULE_NAME   node_ping

Definition at line 38 of file node_ping.c.