Go to the documentation of this file.
26 #define MAX_CONNS 1000
29 #define NANOSEC ((uint64_t) 1e9)
85 size_t suggested_size,
87 static char slab[65536];
149 if (nread == UV_EOF) {
151 }
else if (nread == UV_ECONNRESET) {
180 for (
i = 0;
i <
num;
i++) {
189 for (
i = 0;
i <
num;
i++) {
196 struct sockaddr_in
addr;
209 (
const struct sockaddr*) &
addr,
217 printf(
"make connect %d\n",
p->i);
220 p->conn_req.data =
p;
221 p->write_req.data =
p;
238 printf(
"make connect %d\n",
p->i);
241 p->conn_req.data =
p;
242 p->write_req.data =
p;
250 for (
i = 0;
i <
num;
i++) {
262 for (
i = 0;
i <
num;
i++) {
290 do_setup(concurrency,
arg);
302 fprintf(
stderr,
"%s-conn-pound-%d: %.0f accepts/s (%d failed)\n",
static tcp_conn_rec tcp_conns[MAX_CONNS]
static void connect_cb(uv_connect_t *conn_req, int status)
static void read_cb(uv_stream_t *stream, ssize_t nread, const uv_buf_t *buf)
static int pipe_do_connect(int num, make_connect_fn make_connect, void *arg)
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)
UV_EXTERN uint64_t uv_now(const uv_loop_t *)
static void after_write(uv_write_t *req, int status)
static void pipe_make_connect(conn_rec *p)
_Use_decl_annotations_ int __cdecl printf(const char *_Format,...)
static void close_cb(uv_handle_t *handle)
make_connect_fn make_connect
static void alloc_cb(uv_handle_t *handle, size_t suggested_size, uv_buf_t *buf)
int(* connect_fn)(int num, make_connect_fn make_connect, void *arg)
static int64_t start_time
UV_EXTERN int uv_run(uv_loop_t *, uv_run_mode mode)
UV_EXTERN void uv_close(uv_handle_t *handle, uv_close_cb close_cb)
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)
make_connect_fn make_connect
static void do_connect(void *arg, grpc_error_handle error)
UV_EXTERN void uv_update_time(uv_loop_t *)
UV_EXTERN uv_loop_t * uv_default_loop(void)
static uv_connect_t conn_req
static pipe_conn_rec pipe_conns[MAX_CONNS]
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)
make_connect_fn make_connect
unsigned __int64 uint64_t
UV_EXTERN int uv_read_start(uv_stream_t *, uv_alloc_cb alloc_cb, uv_read_cb read_cb)
static int closed_streams
void(* make_connect_fn)(struct conn_rec_s *conn)
UV_EXTERN int uv_tcp_init(uv_loop_t *, uv_tcp_t *handle)
static void tcp_do_setup(int num, void *arg)
void(* setup_fn)(int num, void *arg)
#define MAKE_VALGRIND_HAPPY()
static int tcp_do_connect(int num, make_connect_fn make_connect, void *arg)
BENCHMARK_IMPL(tcp4_pound_100)
UV_EXTERN uint64_t uv_hrtime(void)
static void tcp_make_connect(conn_rec *p)
static int pound_it(int concurrency, const char *type, setup_fn do_setup, connect_fn do_connect, make_connect_fn make_connect, void *arg)
struct conn_rec_s conn_rec
static void pipe_do_setup(int num, void *arg)
const UV_EXTERN char * uv_err_name(int err)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:45