void h2o_accept(h2o_accept_ctx_t *ctx, h2o_socket_t *sock) { if (ctx->expect_proxy_line || ctx->ssl_ctx != NULL) { create_accept_data(ctx, sock); if (ctx->expect_proxy_line) { h2o_socket_read_start(sock, on_read_proxy_line); } else { h2o_socket_ssl_server_handshake(sock, ctx->ssl_ctx, on_ssl_handshake_complete); } } else { h2o_http1_accept(ctx, sock); } }
void h2o_accept(h2o_accept_ctx_t *ctx, h2o_socket_t *sock) { struct timeval connected_at = *h2o_get_timestamp(ctx->ctx, NULL, NULL); if (ctx->expect_proxy_line || ctx->ssl_ctx != NULL) { create_accept_data(ctx, sock, connected_at); if (ctx->expect_proxy_line) { h2o_socket_read_start(sock, on_read_proxy_line); } else { h2o_socket_ssl_server_handshake(sock, ctx->ssl_ctx, on_ssl_handshake_complete); } } else { h2o_http1_accept(ctx, sock, connected_at); } }