⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 structs.h

📁 -
💻 H
📖 第 1 页 / 共 3 页
字号:
    peer *hit;    peer_t hit_type;#if ALLOW_SOURCE_PING    peer *secho;#endif    ping_data ping;    aclCheck_t *acl_checklist;};struct _pingerEchoData {    struct in_addr to;    unsigned char opcode;    int psize;    char payload[PINGER_PAYLOAD_SZ];};struct _pingerReplyData {    struct in_addr from;    unsigned char opcode;    int rtt;    int hops;    int psize;    char payload[PINGER_PAYLOAD_SZ];};struct _icp_common_t {    unsigned char opcode;	/* opcode */    unsigned char version;	/* version number */    unsigned short length;	/* total length (bytes) */    u_num32 reqnum;		/* req number (req'd for UDP) */    u_num32 flags;    u_num32 pad;    u_num32 shostid;		/* sender host id */};struct _iostats {    struct {	int reads;	int reads_deferred;	int read_hist[16];	int writes;	int write_hist[16];    } Http, Ftp, Gopher, Wais;};struct _mem_node {    char *data;    int len;    mem_node *next;};struct _mem_hdr {    mem_node *head;    mem_node *tail;    int origin_offset;};/* keep track each client receiving data from that particular StoreEntry */struct _store_client {    int type;    off_t copy_offset;    off_t seen_offset;    size_t copy_size;    char *copy_buf;    STCB *callback;    void *callback_data;    StoreEntry *entry;		/* ptr to the parent StoreEntry, argh! */    int swapin_fd;    struct {	unsigned int disk_io_pending:1;	unsigned int store_copying:1;	unsigned int copy_event_pending:1;    } flags;    store_client *next;#if DELAY_POOLS    delay_id delay_id;#endif};/* This structure can be freed while object is purged out from memory */struct _MemObject {    method_t method;    char *url;    mem_hdr data_hdr;    off_t inmem_hi;    off_t inmem_lo;    store_client *clients;    int nclients;    struct {	off_t queue_offset;	/* relative to in-mem data */	off_t done_offset;	/* relative to swap file with meta headers! */	int fd;	void *ctrl;    } swapout;    HttpReply *reply;    request_t *request;    struct timeval start_ping;    IRCB *ping_reply_callback;    void *ircb_data;    int fd;			/* FD of client creating this entry */    struct {	STABH *callback;	void *data;    } abort;    char *log_url;    dlink_node lru;    int id;    ssize_t object_sz;    size_t swap_hdr_sz;};struct _StoreEntry {    /* first two items must be same as hash_link */    const cache_key *key;    StoreEntry *next;    MemObject *mem_obj;    time_t timestamp;    time_t lastref;    time_t expires;    time_t lastmod;    size_t swap_file_sz;    u_short refcount;    u_short flags;    int swap_file_number;    dlink_node lru;    u_short lock_count;		/* Assume < 65536! */    mem_status_t mem_status:3;    ping_status_t ping_status:3;    store_status_t store_status:3;    swap_status_t swap_status:3;};struct _SwapDir {    char *path;    int l1;    int l2;    int cur_size;    int max_size;    int suggest;    fileMap *map;    int swaplog_fd;    struct {	unsigned int selected:1;	unsigned int read_only:1;    } flags;};struct _request_flags {    unsigned int range:1;    unsigned int nocache:1;    unsigned int ims:1;    unsigned int auth:1;    unsigned int cachable:1;    unsigned int hierarchical:1;    unsigned int loopdetect:1;    unsigned int proxy_keepalive:1;    unsigned int proxying:1;    unsigned int refresh:1;    unsigned int used_proxy_auth:1;    unsigned int redirected:1;    unsigned int need_validation:1;#if HTTP_VIOLATIONS    unsigned int nocache_hack:1;	/* for changing/ignoring no-cache requests */#endif    unsigned int accelerated:1;    unsigned int internal:1;};struct _request_t {    method_t method;    protocol_t protocol;    char login[MAX_LOGIN_SZ];    char host[SQUIDHOSTNAMELEN + 1];    char user_ident[USER_IDENT_SZ];	/* from proxy auth or ident server */    u_short port;    String urlpath;    char *canonical;    int link_count;		/* free when zero */    request_flags flags;    HttpHdrCc *cache_control;    HttpHdrRange *range;    float http_ver;    time_t ims;    int imslen;    int max_forwards;    struct in_addr client_addr;    struct in_addr my_addr;    HttpHeader header;    char *body;    size_t body_sz;    HierarchyLogEntry hier;    err_type err_type;    char *peer_login;		/* Configured peer login:password */};struct _cachemgr_passwd {    char *passwd;    wordlist *actions;    cachemgr_passwd *next;};struct _refresh_t {    char *pattern;    regex_t compiled_pattern;    time_t min;    double pct;    time_t max;    refresh_t *next;    struct {	unsigned int icase:1;#if HTTP_VIOLATIONS	unsigned int override_expire:1;	unsigned int override_lastmod:1;	unsigned int reload_into_ims:1;	unsigned int ignore_reload:1;#endif    } flags;};struct _CommWriteStateData {    char *buf;    size_t size;    off_t offset;    CWCB *handler;    void *handler_data;    FREE *free_func;};struct _ErrorState {    err_type type;    int page_id;    http_status http_status;    request_t *request;    char *url;    int xerrno;    char *host;    u_short port;    char *dnsserver_msg;    time_t ttl;    struct in_addr src_addr;    char *redirect_url;    ERCB *callback;    void *callback_data;    struct {	unsigned int flag_cbdata:1;    } flags;    struct {	char *request;	char *reply;    } ftp;    char *request_hdrs;    wordlist *ftp_server_msg;};/* * "very generic" histogram;  * see important comments on hbase_f restrictions in StatHist.c */struct _StatHist {    int *bins;    int capacity;    double min;    double max;    double scale;    hbase_f *val_in;		/* e.g., log() for log-based histogram */    hbase_f *val_out;		/* e.g., exp() for log based histogram */};/* * if you add a field to StatCounters,  * you MUST sync statCountersInitSpecial, statCountersClean, and statCountersCopy */struct _StatCounters {    struct {	int clients;	int requests;	int hits;	int errors;	kb_t kbytes_in;	kb_t kbytes_out;	kb_t hit_kbytes_out;	StatHist miss_svc_time;	StatHist nm_svc_time;	StatHist nh_svc_time;	StatHist hit_svc_time;	StatHist all_svc_time;    } client_http;    struct {	struct {	    int requests;	    int errors;	    kb_t kbytes_in;	    kb_t kbytes_out;	} all , http, ftp, other;    } server;    struct {	int pkts_sent;	int queries_sent;	int replies_sent;	int pkts_recv;	int queries_recv;	int replies_recv;	int hits_sent;	int hits_recv;	int replies_queued;	int replies_dropped;	kb_t kbytes_sent;	kb_t q_kbytes_sent;	kb_t r_kbytes_sent;	kb_t kbytes_recv;	kb_t q_kbytes_recv;	kb_t r_kbytes_recv;	StatHist query_svc_time;	StatHist reply_svc_time;	int query_timeouts;	int times_used;    } icp;    struct {	int requests;    } unlink;    struct {	StatHist svc_time;    } dns;    struct {	int times_used;	kb_t kbytes_sent;	kb_t kbytes_recv;	kb_t memory;	int msgs_sent;	int msgs_recv;#if USE_CACHE_DIGESTS	cd_guess_stats guess;#endif	StatHist on_xition_count;    } cd;    struct {	int times_used;    } netdb;    int page_faults;    int select_loops;    int select_fds;    double select_time;    double cputime;    struct timeval timestamp;    StatHist comm_icp_incoming;    StatHist comm_http_incoming;    StatHist select_fds_hist;    struct {	struct {	    int opens;	    int closes;	    int reads;	    int writes;	    int seeks;	    int unlinks;	} disk;	struct {	    int accepts;	    int sockets;	    int connects;	    int binds;	    int closes;	    int reads;	    int writes;	    int recvfroms;	    int sendtos;	} sock;#if HAVE_POLL	int polls;#else	int selects;#endif    } syscalls;    int swap_files_cleaned;    int aborted_requests;};/* per header statistics */struct _HttpHeaderStat {    const char *label;    HttpHeaderMask *owner_mask;    StatHist hdrUCountDistr;    StatHist fieldTypeDistr;    StatHist ccTypeDistr;    int parsedCount;    int ccParsedCount;    int destroyedCount;    int busyDestroyedCount;};struct _tlv {    char type;    int length;    void *value;    tlv *next;};struct _storeSwapLogData {    char op;    int swap_file_number;    time_t timestamp;    time_t lastref;    time_t expires;    time_t lastmod;    size_t swap_file_sz;    u_short refcount;    u_short flags;    unsigned char key[MD5_DIGEST_CHARS];};/* object to track per-action memory usage (e.g. #idle objects) */struct _MemMeter {    size_t level;		/* current level (count or volume) */    size_t hwater_level;	/* high water mark */    time_t hwater_stamp;	/* timestamp of last high water mark change */};/* object to track per-pool memory usage (alloc = inuse+idle) */struct _MemPoolMeter {    MemMeter alloc;    MemMeter inuse;    MemMeter idle;    gb_t saved;    gb_t total;};/* a pool is a [growing] space for objects of the same size */struct _MemPool {    const char *label;    size_t obj_size;    Stack pstack;		/* stack for free pointers */    MemPoolMeter meter;};struct _ClientInfo {    /* first two items must be equivalent to hash_link */    char *key;    ClientInfo *next;    struct in_addr addr;    struct {	int result_hist[LOG_TYPE_MAX];	int n_requests;	kb_t kbytes_in;	kb_t kbytes_out;	kb_t hit_kbytes_out;    } Http, Icp;    struct {	time_t time;	int n_req;	int n_denied;    } cutoff;};struct _CacheDigest {    /* public, read-only */    char *mask;			/* bit mask */    size_t mask_size;		/* mask size in bytes */    int capacity;		/* expected maximum for .count, not a hard limit */    int bits_per_entry;		/* number of bits allocated for each entry from capacity */    int count;			/* number of digested entries */    int del_count;		/* number of deletions performed so far */};struct _FwdServer {    peer *peer;			/* NULL --> origin server */    hier_code code;    FwdServer *next;};struct _FwdState {    int client_fd;    StoreEntry *entry;    request_t *request;    FwdServer *servers;    int server_fd;    ErrorState *err;    time_t start;    int n_tries;    struct {	unsigned int dont_retry:1;    } flags;};#if USE_HTCPstruct _htcpReplyData {    int hit;    HttpHeader hdr;    u_num32 msg_id;    double version;    struct {	/* cache-to-origin */	double rtt;	int samp;	int hops;    } cto;};#endifstruct _helper_request {    char *buf;    HLPCB *callback;    void *data;};struct _helper {    wordlist *cmdline;    dlink_list servers;    dlink_list queue;    const char *id_name;    int n_to_start;    int n_running;    int ipc_type;    time_t last_queue_warn;    struct {	int requests;	int replies;	int queue_size;	int avg_svc_time;    } stats;};struct _helper_server {    int index;    int rfd;    int wfd;    char *buf;    size_t buf_sz;    off_t offset;    struct timeval dispatch_time;    struct timeval answer_time;    dlink_node link;    helper *parent;    helper_request *request;    struct _helper_flags {	unsigned int alive:1;	unsigned int busy:1;	unsigned int closing:1;	unsigned int shutdown:1;    } flags;    struct {	int uses;    } stats;};/* * use this when you need to pass callback data to a blocking * operation, but you don't want to add that pointer to cbdata */struct _generic_cbdata {    void *data;};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -