diff options
Diffstat (limited to 'rpc/rpc-lib/src/rpcsvc-common.h')
| -rw-r--r-- | rpc/rpc-lib/src/rpcsvc-common.h | 48 | 
1 files changed, 48 insertions, 0 deletions
diff --git a/rpc/rpc-lib/src/rpcsvc-common.h b/rpc/rpc-lib/src/rpcsvc-common.h index 2c6f074886d..054e187c96d 100644 --- a/rpc/rpc-lib/src/rpcsvc-common.h +++ b/rpc/rpc-lib/src/rpcsvc-common.h @@ -30,6 +30,8 @@ struct rpcsvc_state;  typedef int (*rpcsvc_notify_t) (struct rpcsvc_state *, void *mydata,                                  rpcsvc_event_t, void *data); +struct drc_globals; +typedef struct drc_globals rpcsvc_drc_globals_t;  /* Contains global state required for all the RPC services.   */ @@ -68,7 +70,53 @@ typedef struct rpcsvc_state {          void                    *mydata; /* This is xlator */          rpcsvc_notify_t          notifyfn;          struct mem_pool         *rxpool; +        rpcsvc_drc_globals_t    *drc;  } rpcsvc_t; +/* DRC START */ +enum drc_op_type { +        DRC_NA              = 0, +        DRC_IDEMPOTENT      = 1, +        DRC_NON_IDEMPOTENT  = 2 +}; +typedef enum drc_op_type drc_op_type_t; + +enum drc_type { +        DRC_TYPE_NONE        = 0, +        DRC_TYPE_IN_MEMORY   = 1 +}; +typedef enum drc_type drc_type_t; + +enum drc_lru_factor { +        DRC_LRU_5_PC       = 20, +        DRC_LRU_10_PC      = 10, +        DRC_LRU_25_PC      = 4, +        DRC_LRU_50_PC      = 2 +}; +typedef enum drc_lru_factor drc_lru_factor_t; + +enum drc_xid_state { +        DRC_XID_MONOTONOUS  = 0, +        DRC_XID_WRAPPED     = 1 +}; +typedef enum drc_xid_state drc_xid_state_t; + +enum drc_op_state { +        DRC_OP_IN_TRANSIT    = 0, +        DRC_OP_CACHED        = 1 +}; +typedef enum drc_op_state drc_op_state_t; + +enum drc_policy { +        DRC_LRU              = 0 +}; +typedef enum drc_policy drc_policy_t; + +/* Default policies for DRC */ +#define DRC_DEFAULT_TYPE               DRC_TYPE_IN_MEMORY +#define DRC_DEFAULT_CACHE_SIZE         0x20000 +#define DRC_DEFAULT_LRU_FACTOR         DRC_LRU_25_PC + +/* DRC END */  #endif /* #ifndef _RPCSVC_COMMON_H */  | 
