Go to the source code of this file.
|
#define | vtfail(_fn, _rv) |
|
#define | vterr(_fn, _rv) |
|
#define | vtwrn(_fmt, _args...) fprintf (stderr, "\nERROR: " _fmt "\n", ##_args) \ |
|
#define | vtinf(_fmt, _args...) fprintf (stdout, "vt<w%u>: " _fmt "\n", __wrk_index, ##_args) |
|
#define | vt_atomic_add(_ptr, _val) __atomic_fetch_add (_ptr, _val, __ATOMIC_RELEASE) |
|
#define | VCL_TEST_TOKEN_HELP "#H" |
|
#define | VCL_TEST_TOKEN_EXIT "#X" |
|
#define | VCL_TEST_TOKEN_VERBOSE "#V" |
|
#define | VCL_TEST_TOKEN_TXBUF_SIZE "#T:" |
|
#define | VCL_TEST_TOKEN_NUM_TEST_SESS "#I:" |
|
#define | VCL_TEST_TOKEN_NUM_WRITES "#N:" |
|
#define | VCL_TEST_TOKEN_RXBUF_SIZE "#R:" |
|
#define | VCL_TEST_TOKEN_SHOW_CFG "#C" |
|
#define | VCL_TEST_TOKEN_RUN_UNI "#U" |
|
#define | VCL_TEST_TOKEN_RUN_BI "#B" |
|
#define | VCL_TEST_SERVER_PORT 22000 |
|
#define | VCL_TEST_LOCALHOST_IPADDR "127.0.0.1" |
|
#define | VCL_TEST_CFG_CTRL_MAGIC 0xfeedface |
|
#define | VCL_TEST_CFG_NUM_WRITES_DEF 1000000 |
|
#define | VCL_TEST_CFG_TXBUF_SIZE_DEF 8192 |
|
#define | VCL_TEST_CFG_RXBUF_SIZE_DEF (64*VCL_TEST_CFG_TXBUF_SIZE_DEF) |
|
#define | VCL_TEST_CFG_BUF_SIZE_MIN 128 |
|
#define | VCL_TEST_CFG_MAX_TEST_SESS 512 |
|
#define | VCL_TEST_CFG_MAX_EPOLL_EVENTS 16 |
|
#define | VCL_TEST_CTRL_LISTENER (~0 - 1) |
|
#define | VCL_TEST_DATA_LISTENER (~0) |
|
#define | VCL_TEST_DELAY_DISCONNECT 1 |
|
#define | VCL_TEST_SEPARATOR_STRING " -----------------------------\n" |
|
#define | VCL_TEST_REGISTER_PROTO(proto, vft) |
|
#define | INDENT "\n " |
|
|
static int | vcl_test_worker_index (void) |
|
static void | vcl_test_stats_accumulate (vcl_test_stats_t *accum, vcl_test_stats_t *incr) |
|
static void | vcl_test_cfg_init (vcl_test_cfg_t *cfg) |
|
static int | vcl_test_cfg_verify (vcl_test_cfg_t *cfg, vcl_test_cfg_t *valid_cfg) |
|
static void | vcl_test_buf_alloc (vcl_test_cfg_t *cfg, uint8_t is_rxbuf, uint8_t **buf, uint32_t *bufsize) |
|
static void | vcl_test_session_buf_alloc (vcl_test_session_t *ts) |
|
static void | vcl_test_session_buf_free (vcl_test_session_t *ts) |
|
static char * | vcl_test_type_str (vcl_test_t t) |
|
static void | vcl_test_cfg_dump (vcl_test_cfg_t *cfg, uint8_t is_client) |
|
static void | vcl_test_stats_dump (char *header, vcl_test_stats_t *stats, uint8_t show_rx, uint8_t show_tx, uint8_t verbose) |
|
static double | vcl_test_time_diff (struct timespec *old, struct timespec *new) |
|
static void | vcl_test_stats_dump_inc (vcl_test_session_t *ts, int is_rx) |
|
static int | vcl_comp_tspec (struct timespec *a, struct timespec *b) |
|
static int | vcl_test_read (vcl_test_session_t *ts, void *buf, uint32_t nbytes) |
|
static int | vcl_test_read_ds (vcl_test_session_t *ts) |
|
static int | vcl_test_write (vcl_test_session_t *ts, void *buf, uint32_t nbytes) |
|
static void | dump_help (void) |
|
◆ INDENT
◆ VCL_TEST_CFG_BUF_SIZE_MIN
#define VCL_TEST_CFG_BUF_SIZE_MIN 128 |
◆ VCL_TEST_CFG_CTRL_MAGIC
#define VCL_TEST_CFG_CTRL_MAGIC 0xfeedface |
◆ VCL_TEST_CFG_MAX_EPOLL_EVENTS
#define VCL_TEST_CFG_MAX_EPOLL_EVENTS 16 |
◆ VCL_TEST_CFG_MAX_TEST_SESS
#define VCL_TEST_CFG_MAX_TEST_SESS 512 |
◆ VCL_TEST_CFG_NUM_WRITES_DEF
#define VCL_TEST_CFG_NUM_WRITES_DEF 1000000 |
◆ VCL_TEST_CFG_RXBUF_SIZE_DEF
◆ VCL_TEST_CFG_TXBUF_SIZE_DEF
#define VCL_TEST_CFG_TXBUF_SIZE_DEF 8192 |
◆ VCL_TEST_CTRL_LISTENER
#define VCL_TEST_CTRL_LISTENER (~0 - 1) |
◆ VCL_TEST_DATA_LISTENER
#define VCL_TEST_DATA_LISTENER (~0) |
◆ VCL_TEST_DELAY_DISCONNECT
#define VCL_TEST_DELAY_DISCONNECT 1 |
◆ VCL_TEST_LOCALHOST_IPADDR
#define VCL_TEST_LOCALHOST_IPADDR "127.0.0.1" |
◆ VCL_TEST_REGISTER_PROTO
#define VCL_TEST_REGISTER_PROTO |
( |
|
proto, |
|
|
|
vft |
|
) |
| |
Value: static void __attribute__ ((constructor)) vcl_test_init_##
proto (
void) \
{ \
vcl_test_main.protos[
proto] = &vft; \
}
Definition at line 181 of file vcl_test.h.
◆ VCL_TEST_SEPARATOR_STRING
#define VCL_TEST_SEPARATOR_STRING " -----------------------------\n" |
◆ VCL_TEST_SERVER_PORT
#define VCL_TEST_SERVER_PORT 22000 |
◆ VCL_TEST_TOKEN_EXIT
#define VCL_TEST_TOKEN_EXIT "#X" |
◆ VCL_TEST_TOKEN_HELP
#define VCL_TEST_TOKEN_HELP "#H" |
◆ VCL_TEST_TOKEN_NUM_TEST_SESS
#define VCL_TEST_TOKEN_NUM_TEST_SESS "#I:" |
◆ VCL_TEST_TOKEN_NUM_WRITES
#define VCL_TEST_TOKEN_NUM_WRITES "#N:" |
◆ VCL_TEST_TOKEN_RUN_BI
#define VCL_TEST_TOKEN_RUN_BI "#B" |
◆ VCL_TEST_TOKEN_RUN_UNI
#define VCL_TEST_TOKEN_RUN_UNI "#U" |
◆ VCL_TEST_TOKEN_RXBUF_SIZE
#define VCL_TEST_TOKEN_RXBUF_SIZE "#R:" |
◆ VCL_TEST_TOKEN_SHOW_CFG
#define VCL_TEST_TOKEN_SHOW_CFG "#C" |
◆ VCL_TEST_TOKEN_TXBUF_SIZE
#define VCL_TEST_TOKEN_TXBUF_SIZE "#T:" |
◆ VCL_TEST_TOKEN_VERBOSE
#define VCL_TEST_TOKEN_VERBOSE "#V" |
◆ vt_atomic_add
#define vt_atomic_add |
( |
|
_ptr, |
|
|
|
_val |
|
) |
| __atomic_fetch_add (_ptr, _val, __ATOMIC_RELEASE) |
◆ vterr
#define vterr |
( |
|
_fn, |
|
|
|
_rv |
|
) |
| |
Value:{ \
errno = -_rv; \
fprintf (stderr, "\nERROR: " _fn " failed (errno = %d)!\n", -_rv); \
}
Definition at line 34 of file vcl_test.h.
◆ vtfail
#define vtfail |
( |
|
_fn, |
|
|
|
_rv |
|
) |
| |
Value:{ \
errno = -_rv; \
perror ("ERROR when calling " _fn); \
fprintf (stderr, "\nERROR: " _fn " failed (errno = %d)!\n", -_rv); \
exit (1); \
}
Definition at line 26 of file vcl_test.h.
◆ vtinf
#define vtinf |
( |
|
_fmt, |
|
|
|
_args... |
|
) |
| fprintf (stdout, "vt<w%u>: " _fmt "\n", __wrk_index, ##_args) |
◆ vtwrn
#define vtwrn |
( |
|
_fmt, |
|
|
|
_args... |
|
) |
| fprintf (stderr, "\nERROR: " _fmt "\n", ##_args) \ |
◆ vcl_test_session_t
◆ vcl_test_cmd_t
Enumerator |
---|
VCL_TEST_CMD_SYNC | |
VCL_TEST_CMD_START | |
VCL_TEST_CMD_STOP | |
Definition at line 85 of file vcl_test.h.
◆ vcl_test_t
Enumerator |
---|
VCL_TEST_TYPE_NONE | |
VCL_TEST_TYPE_ECHO | |
VCL_TEST_TYPE_UNI | |
VCL_TEST_TYPE_BI | |
VCL_TEST_TYPE_EXIT | |
Definition at line 76 of file vcl_test.h.
◆ dump_help()
static void dump_help |
( |
void |
| ) |
|
|
inlinestatic |
◆ vcl_comp_tspec()
static int vcl_comp_tspec |
( |
struct timespec * |
a, |
|
|
struct timespec * |
b |
|
) |
| |
|
inlinestatic |
◆ vcl_test_buf_alloc()
static void vcl_test_buf_alloc |
( |
vcl_test_cfg_t * |
cfg, |
|
|
uint8_t |
is_rxbuf, |
|
|
uint8_t ** |
buf, |
|
|
uint32_t * |
bufsize |
|
) |
| |
|
inlinestatic |
◆ vcl_test_cfg_dump()
static void vcl_test_cfg_dump |
( |
vcl_test_cfg_t * |
cfg, |
|
|
uint8_t |
is_client |
|
) |
| |
|
inlinestatic |
◆ vcl_test_cfg_init()
◆ vcl_test_cfg_verify()
◆ vcl_test_read()
◆ vcl_test_read_ds()
◆ vcl_test_session_buf_alloc()
◆ vcl_test_session_buf_free()
◆ vcl_test_stats_accumulate()
◆ vcl_test_stats_dump()
static void vcl_test_stats_dump |
( |
char * |
header, |
|
|
vcl_test_stats_t * |
stats, |
|
|
uint8_t |
show_rx, |
|
|
uint8_t |
show_tx, |
|
|
uint8_t |
verbose |
|
) |
| |
|
inlinestatic |
◆ vcl_test_stats_dump_inc()
◆ vcl_test_time_diff()
static double vcl_test_time_diff |
( |
struct timespec * |
old, |
|
|
struct timespec * |
new |
|
) |
| |
|
inlinestatic |
◆ vcl_test_type_str()
◆ vcl_test_worker_index()
static int vcl_test_worker_index |
( |
void |
| ) |
|
|
inlinestatic |
◆ vcl_test_write()
◆ vcl_test_main