int http_check_over(CONN *conn) { if(conn) { return http_over(conn, conn->s_id); } return -1; }
/* error handler */ int benchmark_error_handler(CONN *conn, CB_DATA *packet, CB_DATA *cache, CB_DATA *chunk) { if(conn) { //fprintf(stdout, "%s::%d s_id:%d current:%d\n", __FILE__, __LINE__, conn->s_id, ncurrent); return http_over(conn, conn->s_id); } return -1; }
int http_check_over(CONN *conn) { if(conn) { conn->over_timeout(conn); if(is_keepalive) return http_over(conn, conn->s_id); return 0; } return -1; }
/* timeout handler*/ int benchmark_timeout_handler(CONN *conn, CB_DATA *packet, CB_DATA *cache, CB_DATA *chunk) { if(conn) { if(cache && cache->data) { WARN_LOGGER(logger, "timeout on conn[%s:%d] uri[%s] via %d status:%d", conn->local_ip, conn->local_port, cache->data, conn->fd, conn->status); } else { WARN_LOGGER(logger, "timeout on conn[%s:%d] via %d status:%d", conn->local_ip, conn->local_port, conn->fd, conn->status); } ntimeouts++; conn->over_estate(conn); conn->over_timeout(conn); http_over(conn, 0); return conn->close(conn); } return -1; }