#include "curl_setup.h"#include <curl/curl.h>#include "urldata.h"#include "transfer.h"#include "url.h"#include "connect.h"#include "progress.h"#include "easyif.h"#include "share.h"#include "multiif.h"#include "sendf.h"#include "timeval.h"#include "http.h"#include "select.h"#include "warnless.h"#include "speedcheck.h"#include "conncache.h"#include "multihandle.h"#include "pipeline.h"#include "sigpipe.h"#include "vtls/vtls.h"#include "curl_printf.h"#include "curl_memory.h"#include "memdebug.h"
Go to the source code of this file.
Classes | |
| struct | Curl_sh_entry |
Defines | |
| #define | CURL_CONNECTION_HASH_SIZE 97 |
| #define | CURL_MULTI_HANDLE 0x000bab1e |
| #define | CURL_SOCKET_HASH_TABLE_SIZE 911 |
| #define | GOOD_MULTI_HANDLE(x) ((x) && (x)->type == CURL_MULTI_HANDLE) |
| #define | multistate(x, y) mstate(x,y) |
| #define | SH_READ 1 |
| #define | SH_WRITE 2 |
Typedefs | |
| typedef void(* | init_multistate_func )(struct Curl_easy *data) |
Functions | |
| static CURLMcode | add_next_timeout (struct timeval now, struct Curl_multi *multi, struct Curl_easy *d) |
| static void | close_all_connections (struct Curl_multi *multi) |
| static bool | ConnectionDone (struct Curl_easy *data, struct connectdata *conn) |
| void | Curl_expire (struct Curl_easy *data, time_t milli) |
| void | Curl_expire_clear (struct Curl_easy *data) |
| void | Curl_expire_latest (struct Curl_easy *data, time_t milli) |
| CURLMcode | curl_multi_add_handle (struct Curl_multi *multi, struct Curl_easy *data) |
| CURLMcode | Curl_multi_add_perform (struct Curl_multi *multi, struct Curl_easy *data, struct connectdata *conn) |
| CURLMcode | curl_multi_assign (struct Curl_multi *multi, curl_socket_t s, void *hashp) |
| curl_off_t | Curl_multi_chunk_length_penalty_size (struct Curl_multi *multi) |
| CURLMcode | curl_multi_cleanup (struct Curl_multi *multi) |
| void | Curl_multi_closed (struct connectdata *conn, curl_socket_t s) |
| void | Curl_multi_connchanged (struct Curl_multi *multi) |
| curl_off_t | Curl_multi_content_length_penalty_size (struct Curl_multi *multi) |
| CURLMcode | curl_multi_fdset (struct Curl_multi *multi, fd_set *read_fd_set, fd_set *write_fd_set, fd_set *exc_fd_set, int *max_fd) |
| struct Curl_multi * | Curl_multi_handle (int hashsize, int chashsize) |
| void | Curl_multi_handlePipeBreak (struct Curl_easy *data) |
| CURLMsg * | curl_multi_info_read (struct Curl_multi *multi, int *msgs_in_queue) |
| struct Curl_multi * | curl_multi_init (void) |
| size_t | Curl_multi_max_host_connections (struct Curl_multi *multi) |
| size_t | Curl_multi_max_total_connections (struct Curl_multi *multi) |
| CURLMcode | curl_multi_perform (struct Curl_multi *multi, int *running_handles) |
| struct curl_llist * | Curl_multi_pipelining_server_bl (struct Curl_multi *multi) |
| struct curl_llist * | Curl_multi_pipelining_site_bl (struct Curl_multi *multi) |
| void | Curl_multi_process_pending_handles (struct Curl_multi *multi) |
| CURLMcode | curl_multi_remove_handle (struct Curl_multi *multi, struct Curl_easy *data) |
| CURLMcode | curl_multi_setopt (struct Curl_multi *multi, CURLMoption option,...) |
| CURLMcode | curl_multi_socket (struct Curl_multi *multi, curl_socket_t s, int *running_handles) |
| CURLMcode | curl_multi_socket_action (struct Curl_multi *multi, curl_socket_t s, int ev_bitmask, int *running_handles) |
| CURLMcode | curl_multi_socket_all (struct Curl_multi *multi, int *running_handles) |
| CURLMcode | curl_multi_timeout (struct Curl_multi *multi, long *timeout_ms) |
| CURLMcode | curl_multi_wait (struct Curl_multi *multi, struct curl_waitfd extra_fds[], unsigned int extra_nfds, int timeout_ms, int *ret) |
| bool | Curl_pipeline_wanted (const struct Curl_multi *multi, int bits) |
| static void | do_complete (struct connectdata *conn) |
| static int | domore_getsock (struct connectdata *conn, curl_socket_t *socks, int numsocks) |
| static size_t | fd_key_compare (void *k1, size_t k1_len, void *k2, size_t k2_len) |
| static size_t | hash_fd (void *key, size_t key_length, size_t slots_num) |
| static void | mstate (struct Curl_easy *data, CURLMstate state) |
| static CURLMcode | multi_addmsg (struct Curl_multi *multi, struct Curl_message *msg) |
| static CURLMcode | multi_addtimeout (struct curl_llist *timeoutlist, struct timeval *stamp) |
| static CURLcode | multi_do (struct connectdata **connp, bool *done) |
| static CURLcode | multi_do_more (struct connectdata *conn, int *complete) |
| static CURLcode | multi_done (struct connectdata **connp, CURLcode status, bool premature) |
| static void | multi_freeamsg (void *a, void *b) |
| static void | multi_freetimeout (void *a, void *b) |
| static int | multi_getsock (struct Curl_easy *data, curl_socket_t *socks, int numsocks) |
| static bool | multi_ischanged (struct Curl_multi *multi, bool clear) |
| static CURLcode | multi_reconnect_request (struct connectdata **connp) |
| static CURLMcode | multi_runsingle (struct Curl_multi *multi, struct timeval now, struct Curl_easy *data) |
| static CURLMcode | multi_socket (struct Curl_multi *multi, bool checkall, curl_socket_t s, int ev_bitmask, int *running_handles) |
| static CURLMcode | multi_timeout (struct Curl_multi *multi, long *timeout_ms) |
| static struct Curl_sh_entry * | sh_addentry (struct curl_hash *sh, curl_socket_t s, struct Curl_easy *data) |
| static void | sh_delentry (struct curl_hash *sh, curl_socket_t s) |
| static void | sh_freeentry (void *freethis) |
| static struct Curl_sh_entry * | sh_getentry (struct curl_hash *sh, curl_socket_t s) |
| static int | sh_init (struct curl_hash *hash, int hashsize) |
| static void | singlesocket (struct Curl_multi *multi, struct Curl_easy *data) |
| static int | update_timer (struct Curl_multi *multi) |
| static int | waitconnect_getsock (struct connectdata *conn, curl_socket_t *sock, int numsocks) |
| static int | waitproxyconnect_getsock (struct connectdata *conn, curl_socket_t *sock, int numsocks) |
| #define CURL_CONNECTION_HASH_SIZE 97 |
| #define CURL_MULTI_HANDLE 0x000bab1e |
| #define CURL_SOCKET_HASH_TABLE_SIZE 911 |
| #define GOOD_MULTI_HANDLE | ( | x | ) | ((x) && (x)->type == CURL_MULTI_HANDLE) |
| typedef void(* init_multistate_func)(struct Curl_easy *data) |
| static CURLMcode add_next_timeout | ( | struct timeval | now, |
| struct Curl_multi * | multi, | ||
| struct Curl_easy * | d | ||
| ) | [static] |
| static void close_all_connections | ( | struct Curl_multi * | multi | ) | [static] |
| static bool ConnectionDone | ( | struct Curl_easy * | data, |
| struct connectdata * | conn | ||
| ) | [static] |
| void Curl_expire | ( | struct Curl_easy * | data, |
| time_t | milli | ||
| ) |
| void Curl_expire_clear | ( | struct Curl_easy * | data | ) |
| void Curl_expire_latest | ( | struct Curl_easy * | data, |
| time_t | milli | ||
| ) |
| CURLMcode curl_multi_add_handle | ( | struct Curl_multi * | multi, |
| struct Curl_easy * | data | ||
| ) |
| CURLMcode Curl_multi_add_perform | ( | struct Curl_multi * | multi, |
| struct Curl_easy * | data, | ||
| struct connectdata * | conn | ||
| ) |
| CURLMcode curl_multi_assign | ( | struct Curl_multi * | multi, |
| curl_socket_t | s, | ||
| void * | hashp | ||
| ) |
| curl_off_t Curl_multi_chunk_length_penalty_size | ( | struct Curl_multi * | multi | ) |
| CURLMcode curl_multi_cleanup | ( | struct Curl_multi * | multi | ) |
| void Curl_multi_closed | ( | struct connectdata * | conn, |
| curl_socket_t | s | ||
| ) |
| void Curl_multi_connchanged | ( | struct Curl_multi * | multi | ) |
| curl_off_t Curl_multi_content_length_penalty_size | ( | struct Curl_multi * | multi | ) |
| CURLMcode curl_multi_fdset | ( | struct Curl_multi * | multi, |
| fd_set * | read_fd_set, | ||
| fd_set * | write_fd_set, | ||
| fd_set * | exc_fd_set, | ||
| int * | max_fd | ||
| ) |
| struct Curl_multi* Curl_multi_handle | ( | int | hashsize, |
| int | chashsize | ||
| ) | [read] |
| void Curl_multi_handlePipeBreak | ( | struct Curl_easy * | data | ) |
| CURLMsg* curl_multi_info_read | ( | struct Curl_multi * | multi, |
| int * | msgs_in_queue | ||
| ) |
| struct Curl_multi* curl_multi_init | ( | void | ) | [read] |
| size_t Curl_multi_max_host_connections | ( | struct Curl_multi * | multi | ) |
| size_t Curl_multi_max_total_connections | ( | struct Curl_multi * | multi | ) |
| CURLMcode curl_multi_perform | ( | struct Curl_multi * | multi, |
| int * | running_handles | ||
| ) |
| struct curl_llist* Curl_multi_pipelining_server_bl | ( | struct Curl_multi * | multi | ) | [read] |
| struct curl_llist* Curl_multi_pipelining_site_bl | ( | struct Curl_multi * | multi | ) | [read] |
| void Curl_multi_process_pending_handles | ( | struct Curl_multi * | multi | ) |
| CURLMcode curl_multi_remove_handle | ( | struct Curl_multi * | multi, |
| struct Curl_easy * | data | ||
| ) |
| CURLMcode curl_multi_setopt | ( | struct Curl_multi * | multi, |
| CURLMoption | option, | ||
| ... | |||
| ) |
| CURLMcode curl_multi_socket | ( | struct Curl_multi * | multi, |
| curl_socket_t | s, | ||
| int * | running_handles | ||
| ) |
| CURLMcode curl_multi_socket_action | ( | struct Curl_multi * | multi, |
| curl_socket_t | s, | ||
| int | ev_bitmask, | ||
| int * | running_handles | ||
| ) |
| CURLMcode curl_multi_socket_all | ( | struct Curl_multi * | multi, |
| int * | running_handles | ||
| ) |
| CURLMcode curl_multi_timeout | ( | struct Curl_multi * | multi, |
| long * | timeout_ms | ||
| ) |
| CURLMcode curl_multi_wait | ( | struct Curl_multi * | multi, |
| struct curl_waitfd | extra_fds[], | ||
| unsigned int | extra_nfds, | ||
| int | timeout_ms, | ||
| int * | ret | ||
| ) |
| bool Curl_pipeline_wanted | ( | const struct Curl_multi * | multi, |
| int | bits | ||
| ) |
| static void do_complete | ( | struct connectdata * | conn | ) | [static] |
| static int domore_getsock | ( | struct connectdata * | conn, |
| curl_socket_t * | socks, | ||
| int | numsocks | ||
| ) | [static] |
| static size_t fd_key_compare | ( | void * | k1, |
| size_t | k1_len, | ||
| void * | k2, | ||
| size_t | k2_len | ||
| ) | [static] |
| static size_t hash_fd | ( | void * | key, |
| size_t | key_length, | ||
| size_t | slots_num | ||
| ) | [static] |
| static void mstate | ( | struct Curl_easy * | data, |
| CURLMstate | state | ||
| ) | [static] |
| static CURLMcode multi_addmsg | ( | struct Curl_multi * | multi, |
| struct Curl_message * | msg | ||
| ) | [static] |
| static CURLMcode multi_addtimeout | ( | struct curl_llist * | timeoutlist, |
| struct timeval * | stamp | ||
| ) | [static] |
| static CURLcode multi_do | ( | struct connectdata ** | connp, |
| bool * | done | ||
| ) | [static] |
| static CURLcode multi_do_more | ( | struct connectdata * | conn, |
| int * | complete | ||
| ) | [static] |
| static CURLcode multi_done | ( | struct connectdata ** | connp, |
| CURLcode | status, | ||
| bool | premature | ||
| ) | [static] |
| static void multi_freeamsg | ( | void * | a, |
| void * | b | ||
| ) | [static] |
| static void multi_freetimeout | ( | void * | a, |
| void * | b | ||
| ) | [static] |
| static int multi_getsock | ( | struct Curl_easy * | data, |
| curl_socket_t * | socks, | ||
| int | numsocks | ||
| ) | [static] |
| static bool multi_ischanged | ( | struct Curl_multi * | multi, |
| bool | clear | ||
| ) | [static] |
| static CURLcode multi_reconnect_request | ( | struct connectdata ** | connp | ) | [static] |
| static CURLMcode multi_runsingle | ( | struct Curl_multi * | multi, |
| struct timeval | now, | ||
| struct Curl_easy * | data | ||
| ) | [static] |
| static CURLMcode multi_socket | ( | struct Curl_multi * | multi, |
| bool | checkall, | ||
| curl_socket_t | s, | ||
| int | ev_bitmask, | ||
| int * | running_handles | ||
| ) | [static] |
| static CURLMcode multi_timeout | ( | struct Curl_multi * | multi, |
| long * | timeout_ms | ||
| ) | [static] |
| static struct Curl_sh_entry* sh_addentry | ( | struct curl_hash * | sh, |
| curl_socket_t | s, | ||
| struct Curl_easy * | data | ||
| ) | [static, read] |
| static void sh_delentry | ( | struct curl_hash * | sh, |
| curl_socket_t | s | ||
| ) | [static] |
| static void sh_freeentry | ( | void * | freethis | ) | [static] |
| static struct Curl_sh_entry* sh_getentry | ( | struct curl_hash * | sh, |
| curl_socket_t | s | ||
| ) | [static, read] |
| static void singlesocket | ( | struct Curl_multi * | multi, |
| struct Curl_easy * | data | ||
| ) | [static] |
| static int update_timer | ( | struct Curl_multi * | multi | ) | [static] |
| static int waitconnect_getsock | ( | struct connectdata * | conn, |
| curl_socket_t * | sock, | ||
| int | numsocks | ||
| ) | [static] |
| static int waitproxyconnect_getsock | ( | struct connectdata * | conn, |
| curl_socket_t * | sock, | ||
| int | numsocks | ||
| ) | [static] |