63 bool penalized =
FALSE;
74 recv_size = recv_handle->
req.
size;
76 if(penalty_size > 0 && recv_size > penalty_size)
80 if(chunk_penalty_size > 0 &&
84 infof(data,
"Conn: %ld (%p) Receive pipe weight: (%" 120 print_pipeline(conn);
139 if(curr->
ptr == handle) {
148 infof(conn->
data,
"%p is at send pipe head B!\n",
174 curr = blacklist->
head;
181 infof(handle,
"Site %s:%d is pipeline blacklisted\n",
214 port = strchr(entry->
hostname,
':');
218 entry->
port = (
unsigned short)strtol(port, NULL, 10);
241 if(handle->
multi && server_name) {
250 infof(handle,
"Server %s is blacklisted\n", server_name);
256 DEBUGF(
infof(handle,
"Server %s is not blacklisted\n", server_name));
274 size_t len = strlen(*servers);
393 infof(data,
"- Conn %ld (%p) send_pipe: %zu, recv_pipe: %zu\n",
static void site_blacklist_llist_dtor(void *user, void *element)
struct curl_llist recv_pipe
static CURLcode addHandleToPipeline(struct Curl_easy *data, struct curl_llist *pipeline)
bool Curl_pipeline_site_blacklisted(struct Curl_easy *handle, struct connectdata *conn)
void(* curl_llist_dtor)(void *, void *)
struct curl_llist send_pipe
CURLcode Curl_add_handle_to_pipeline(struct Curl_easy *handle, struct connectdata *conn)
CURLMcode Curl_pipeline_set_site_blacklist(char **sites, struct curl_llist *list)
static char server_name[50]
struct curl_llist_element * tail
bool Curl_pipeline_checkget_read(struct Curl_easy *data, struct connectdata *conn)
struct Curl_multi * multi
bool Curl_pipeline_checkget_write(struct Curl_easy *data, struct connectdata *conn)
void Curl_llist_init(struct curl_llist *l, curl_llist_dtor dtor)
struct Curl_chunker chunk
struct curl_llist_element list
CURLMcode Curl_pipeline_set_server_blacklist(char **servers, struct curl_llist *list)
curl_off_t Curl_multi_chunk_length_penalty_size(struct Curl_multi *multi)
#define strcasecompare(a, b)
void Curl_llist_move(struct curl_llist *list, struct curl_llist_element *e, struct curl_llist *to_list, struct curl_llist_element *to_e)
UNITTEST_START int result
static void server_blacklist_llist_dtor(void *user, void *element)
bool Curl_recvpipe_head(struct Curl_easy *data, struct connectdata *conn)
bool Curl_sendpipe_head(struct Curl_easy *data, struct connectdata *conn)
void Curl_move_handle_from_send_to_recv_pipe(struct Curl_easy *handle, struct connectdata *conn)
#define strncasecompare(a, b, c)
void Curl_pipeline_leave_read(struct connectdata *conn)
static bool pipe_head(struct Curl_easy *data, struct curl_llist *pipeline)
CURL_TYPEOF_CURL_OFF_T curl_off_t
void Curl_pipeline_leave_write(struct connectdata *conn)
struct curl_llist_element * head
bool Curl_pipeline_server_blacklisted(struct Curl_easy *handle, char *server_name)
void Curl_llist_destroy(struct curl_llist *list, void *user)
struct connectbundle * bundle
struct curl_llist * Curl_multi_pipelining_server_bl(struct Curl_multi *multi)
curl_off_t Curl_multi_content_length_penalty_size(struct Curl_multi *multi)
void Curl_llist_insert_next(struct curl_llist *list, struct curl_llist_element *e, const void *p, struct curl_llist_element *ne)
void Curl_expire(struct Curl_easy *data, time_t milli, expire_id id)
struct curl_llist conn_list
bool Curl_pipeline_penalized(struct Curl_easy *data, struct connectdata *conn)
struct curl_llist * Curl_multi_pipelining_site_bl(struct Curl_multi *multi)
struct curl_llist_element pipeline_queue
struct curl_llist_element list
struct curl_llist_element * next
#define CURL_FORMAT_CURL_OFF_T