Go to the documentation of this file.
30 #define WRITE_BUFFER_SIZE 8192
31 #define MAX_SIMULTANEOUS_CONNECTS 100
34 #define STATS_INTERVAL 1000
72 #define MAX_WRITE_HANDLES 1000
83 double gbits = ((double)
bytes / (1024 * 1024 * 1024)) * 8;
84 return gbits / ((double)passed_ms / 1000);
93 fprintf(
stderr,
"connections: %d, write: %.1f gbit/s\n",
105 fprintf(
stderr,
"%s_pump%d_client: %.1f gbit/s\n",
133 fprintf(
stderr,
"%s_pump%d_server: %.1f gbit/s\n",
360 ab = malloc(
size +
sizeof(*ab));
static uv_pipe_t pipeServer
static buf_list_t * buf_freelist
static void pipe_pump(int n)
UV_EXTERN void uv_pipe_connect(uv_connect_t *req, uv_pipe_t *handle, const char *name, uv_connect_cb cb)
UV_EXTERN int uv_pipe_init(uv_loop_t *, uv_pipe_t *handle, int ipc)
static int64_t nsent_total
UV_EXTERN uint64_t uv_now(const uv_loop_t *)
static uv_tcp_t tcpServer
UV_EXTERN int uv_listen(uv_stream_t *stream, int backlog, uv_connection_cb cb)
static struct sockaddr_in listen_addr
const UV_EXTERN char * uv_strerror(int err)
#define MAX_SIMULTANEOUS_CONNECTS
UV_EXTERN int uv_run(uv_loop_t *, uv_run_mode mode)
static char write_buffer[WRITE_BUFFER_SIZE]
static void req_free(uv_req_t *uv_req)
static uv_pipe_t pipe_write_handles[MAX_WRITE_HANDLES]
BENCHMARK_IMPL(tcp_pump100_client)
UV_EXTERN int uv_tcp_bind(uv_tcp_t *handle, const struct sockaddr *addr, unsigned int flags)
UV_EXTERN void uv_close(uv_handle_t *handle, uv_close_cb close_cb)
static void tcp_pump(int n)
UV_EXTERN int uv_tcp_connect(uv_connect_t *req, uv_tcp_t *handle, const struct sockaddr *addr, uv_connect_cb cb)
UV_EXTERN int uv_ip4_addr(const char *ip, int port, struct sockaddr_in *addr)
static void start_stats_collection(void)
UV_EXTERN void uv_update_time(uv_loop_t *)
UV_EXTERN uv_loop_t * uv_default_loop(void)
static int max_read_sockets
static void do_write(uv_stream_t *)
UV_EXTERN int uv_write(uv_write_t *req, uv_stream_t *handle, const uv_buf_t bufs[], unsigned int nbufs, uv_write_cb cb)
struct req_list_s req_list_t
UV_EXTERN int uv_read_start(uv_stream_t *, uv_alloc_cb alloc_cb, uv_read_cb read_cb)
static void buf_alloc(uv_handle_t *handle, size_t size, uv_buf_t *buf)
UV_EXTERN int uv_tcp_init(uv_loop_t *, uv_tcp_t *handle)
UV_EXTERN int uv_accept(uv_stream_t *server, uv_stream_t *client)
static uv_tcp_t tcp_write_handles[MAX_WRITE_HANDLES]
static void connection_cb(uv_stream_t *s, int status)
HELPER_IMPL(tcp_pump_server)
static uv_req_t * req_alloc(void)
static struct sockaddr_in connect_addr
#define MAKE_VALGRIND_HAPPY()
struct buf_list_s buf_list_t
static void read_cb(uv_stream_t *stream, ssize_t bytes, const uv_buf_t *buf)
static int TARGET_CONNECTIONS
static int max_connect_socket
static void read_show_stats(void)
static void show_stats(uv_timer_t *handle)
static void buf_free(const uv_buf_t *buf)
#define MAX_WRITE_HANDLES
static void read_sockets_close_cb(uv_handle_t *handle)
static void connect_cb(uv_connect_t *req, int status)
static req_list_t * req_freelist
static uv_timer_t timer_handle
UV_EXTERN int uv_timer_start(uv_timer_t *handle, uv_timer_cb cb, uint64_t timeout, uint64_t repeat)
UV_EXTERN int uv_timer_init(uv_loop_t *, uv_timer_t *handle)
UV_EXTERN int uv_pipe_bind(uv_pipe_t *handle, const char *name)
static void write_cb(uv_write_t *req, int status)
static int64_t nrecv_total
static uv_stream_t * server
static int64_t start_time
static double gbit(int64_t bytes, int64_t passed_ms)
#define WRITE_BUFFER_SIZE
static void maybe_connect_some(void)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:45