41 bool AddItem(
void *newdata,
void *olddata,
const char *key,
42 int hash,
bool replace=
false);
44 bool Attach(
int tout,
bool isrw=
false);
50 bool DelItem(
void *data,
const char *key,
int hash);
54 bool Enumerate(
void *&jar,
char *&key,
void *&val);
58 bool GetItem(
void *data,
const char *key,
int hash);
60 int Info(
const char *vname,
char *buff=0,
int blen=0);
65 bool Sync(
bool dosync,
bool syncdo);
66 bool Sync(
int syncqsz);
71 pthread_mutex_destroy(&
lkMutex);
72 pthread_rwlock_destroy(&
myMutex);
84 bool Lock(
bool doRW=
false,
bool nowait=
false);
93 void Updated(
int mOff,
int mLen);
int Info(const char *vname, char *buff=0, int blen=0)
pthread_rwlock_t myMutex
Definition: XrdSsiShMam.hh:123
Definition: XrdSsiShMat.hh:41
int shmFD
Definition: XrdSsiShMam.hh:135
int maxKLen
Definition: XrdSsiShMam.hh:134
bool Lock(bool doRW=false, bool nowait=false)
Definition: XrdSsiShMat.hh:99
void Detach()
Detach the map from the shared memory.
char * shmTemp
Definition: XrdSsiShMam.hh:125
int syncLast
Definition: XrdSsiShMam.hh:140
int Find(MemItem *&theItem, MemItem *&prvItem, const char *key, int &hash)
pthread_mutex_t lkMutex
Definition: XrdSsiShMam.hh:122
int lkCount
Definition: XrdSsiShMam.hh:137
bool doUnLock
Definition: XrdSsiShMam.hh:119
bool syncOn
Definition: XrdSsiShMam.hh:150
char * shmBase
Definition: XrdSsiShMam.hh:127
XrdSsiShMam * shmemP
Definition: XrdSsiShMam.hh:117
bool GetItem(void *data, const char *key, int hash)
bool DelItem(void *data, const char *key, int hash)
int keyPos
Definition: XrdSsiShMam.hh:133
bool ReMap(LockType iHave)
int shmSlots
Definition: XrdSsiShMam.hh:129
int syncOpt
Definition: XrdSsiShMam.hh:138
bool lockRW
Definition: XrdSsiShMam.hh:145
int shmInfoSz
Definition: XrdSsiShMam.hh:131
Definition: XrdSsiShMam.hh:95
XrdSsiShMam(XrdSsiShMat::NewParms &parms)
int timeOut
Definition: XrdSsiShMam.hh:136
int verNum
Definition: XrdSsiShMam.hh:132
Definition: XrdSsiShMam.hh:78
int syncQSZ
Definition: XrdSsiShMam.hh:141
int syncQWR
Definition: XrdSsiShMam.hh:139
bool reUse
Definition: XrdSsiShMam.hh:146
Definition: XrdSsiShMat.hh:276
bool isRW
Definition: XrdSsiShMam.hh:143
bool syncBase
Definition: XrdSsiShMam.hh:149
int accMode
Definition: XrdSsiShMam.hh:142
int shmItemSz
Definition: XrdSsiShMam.hh:130
bool Resize(XrdSsiShMat::CRZParms &parms)
Definition: XrdSsiShMam.hh:75
bool lockRO
Definition: XrdSsiShMam.hh:144
bool Enumerate(void *&jar, char *&key, void *&val)
XLockHelper(XrdSsiShMam *shmemp, LockType lktype)
Definition: XrdSsiShMam.hh:102
~XrdSsiShMam()
Definition: XrdSsiShMam.hh:70
Definition: XrdSsiShMam.hh:75
Definition: XrdSsiShMam.hh:37
bool useAtomic
Definition: XrdSsiShMam.hh:148
bool Attach(int tout, bool isrw=false)
void RetItem(MemItem *iP)
LockType
Definition: XrdSsiShMam.hh:75
LockType lkType
Definition: XrdSsiShMam.hh:118
bool FLock()
Definition: XrdSsiShMam.hh:98
bool Create(XrdSsiShMat::CRZParms &parms)
bool AddItem(void *newdata, void *olddata, const char *key, int hash, bool replace=false)
bool ExportIt(bool fLocked)
int hash
Definition: XrdSsiShMam.hh:78
int HashVal(const char *key)
void SwapMap(XrdSsiShMam &newMap)
long long shmSize
Definition: XrdSsiShMam.hh:126
void SetLocking(bool isrw)
~XLockHelper()
Definition: XrdSsiShMam.hh:108
bool multW
Definition: XrdSsiShMam.hh:147