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

📄 store_diskd.h

📁 一个功能非常全面的代理服务器源代码程序,
💻 H
字号:
/* * store_diskd.h * * Internal declarations for the diskd routines */#ifndef __STORE_DISKD_H__#define __STORE_DISKD_H__/* * magic2 is the point at which we start blocking on msgsnd/msgrcv. * If a queue has magic2 (or more) messages away, then we read the * queue until the level falls below magic2.  Recommended value * is 75% of SHMBUFS. magic1 is the number of messages away which we * stop allowing open/create for. */struct _diskdinfo_t {    int swaplog_fd;    int l1;    int l2;    fileMap *map;    int suggest;    int smsgid;    int rmsgid;    int rfd;    int wfd;    void *hIpc;    int away;    struct {	char *buf;	char *inuse_map;	int id;	int nbufs;    } shm;    int magic1;    int magic2;};struct _diskdstate_t {    int id;    struct {	unsigned int close_request:1;	unsigned int reading:1;	unsigned int writing:1;    } flags;    char *read_buf;};enum {    _MQD_NOP,    _MQD_OPEN,    _MQD_CLOSE,    _MQD_READ,    _MQD_WRITE,    _MQD_UNLINK};typedef struct _diomsg {    mtyp_t mtype;    int id;    int seq_no;    void *callback_data;    int size;    off_t offset;    int status;    int shm_offset;} diomsg;struct _diskd_stats {    int open_fail_queue_len;    int block_queue_len;    int max_away;    int max_shmuse;    int shmbuf_count;    int sent_count;    int recv_count;    int sio_id;    struct {	int ops;	int success;	int fail;    } open, create, close, unlink, read, write;};typedef struct _diskd_stats diskd_stats_t;typedef struct _diskdinfo_t diskdinfo_t;typedef struct _diskdstate_t diskdstate_t;static const int msg_snd_rcv_sz = sizeof(diomsg) - sizeof(mtyp_t);/* The diskd_state memory pool */extern MemPool *diskd_state_pool;extern void storeDiskdDirMapBitReset(SwapDir *, sfileno);extern int storeDiskdDirMapBitAllocate(SwapDir *);extern char *storeDiskdDirFullPath(SwapDir * SD, sfileno filn, char *fullpath);extern void storeDiskdDirUnlinkFile(SwapDir *, sfileno);extern void storeDiskdDirReplAdd(SwapDir *, StoreEntry *);extern void storeDiskdDirReplRemove(StoreEntry *);extern void storeDiskdShmPut(SwapDir *, int);extern void *storeDiskdShmGet(SwapDir *, int *);extern void storeDiskdHandle(diomsg * M);extern int storeDiskdDirCallback(SwapDir *);/* * Store IO stuff */extern STOBJCREATE storeDiskdCreate;extern STOBJOPEN storeDiskdOpen;extern STOBJCLOSE storeDiskdClose;extern STOBJREAD storeDiskdRead;extern STOBJWRITE storeDiskdWrite;extern STOBJUNLINK storeDiskdUnlink;extern STOBJRECYCLE storeDiskdRecycle;#define SHMBUF_BLKSZ SM_PAGE_SIZEextern diskd_stats_t diskd_stats;#endif

⌨️ 快捷键说明

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