intr = boost::intrusive;
47 structSTimeTable_tag;
50 typedefintr::set_base_hook< intr::tag<STimeTable_tag>,
52 typedefintr::set_base_hook< intr::tag<SKeyMap_tag>,
55 #define __NC_CACHEDATA_MONITOR 0 85 #if __NC_CACHEDATA_MONITOR 86 voidx_Register(
void);
87 voidx_Revoke(
void);
125 const string& password,
194: saved_dead_time(0),
200 #if __NC_CACHEDATA_MONITOR 213 #if __NC_CACHEDATA_MONITORncbi::TMaskedQueryRegions mask
CAtomicCounter_WithAutoInit â.
Mutex created to have minimum possible size (its size is 4 bytes) and to sleep using kernel capabilit...
Blob storage for NetCache.
static void GetFullBlobsList(Uint2 slot, TNCBlobSumList &blobs_lst, const CNCPeerControl *peer)
static Int8 GetAllowedDBSize(Int8 free_space)
static bool NeedStopWrite(void)
static bool WriteBlobInfo(const string &blob_key, SNCBlobVerData *ver_data, SNCChunkMaps *maps, Uint8 cnt_chunks, SNCCacheData *cache_data)
Write meta information about blob into the database.
static void SaveMaxSyncLogRecNo(void)
static void ChangeCacheDeadTime(SNCCacheData *cache_data)
static void WriteBlobList(TNCBufferType &buffer, const CTempString &mask)
static void GetBList(const string &mask, unique_ptr< TNCBufferType > &buffer, SNCBlobFilter *filters, const string &sep)
static Int8 GetDBSize(void)
Get total size of database for the storage.
static bool ReConfig(const CNcbiRegistry &new_reg, string &err_message)
static Uint8 GetMaxSyncLogRecNo(void)
static void MeasureDB(SNCStateStat &state)
static string GetPurgeData(void)
static bool ReadBlobInfo(SNCBlobVerData *ver_data)
Get meta information about blob with given coordinates.
static void SavePurgeData(void)
static CNCBlobAccessor * GetBlobAccess(ENCAccessType access, const string &key, const string &password, Uint2 time_bucket)
Acquire access to the blob identified by key, subkey and version.
static void Finalize(void)
static void WriteDbInfo(TNCBufferType &sendBuff, const CTempString &mask)
static size_t GetNDBFiles(void)
Get number of files in the database.
static void WriteEnvInfo(CSrvSocketTask &task)
static string FindBlob(Uint2 bucket, const string &mask, Uint8 cr_time_hi)
static void ReleaseCacheData(SNCCacheData *cache_data)
static bool IsDBSizeAlert(void)
static int GetLatestBlobExpire(void)
static bool IsDraining(void)
static bool Initialize(bool do_reinit)
static Uint8 GetMaxBlobSizeStore(void)
static bool IsCleanStart(void)
static void CheckDiskSpace(void)
static void ReferenceCacheData(SNCCacheData *cache_data)
static Uint4 GetNewBlobId(void)
static void AbandonDB(void)
static void WriteSetup(CSrvSocketTask &task)
static Int8 GetDiskFree(void)
static void DeleteBlobInfo(const SNCBlobVerData *ver_data, SNCChunkMaps *maps)
Delete blob from database.
static bool AcceptWritesFromPeers(void)
static void SetDraining(bool draining)
static void WriteBlobStat(CSrvSocketTask &task)
static char * WriteChunkData(SNCBlobVerData *ver_data, SNCChunkMaps *maps, SNCCacheData *cache_data, Uint8 chunk_num, char *buffer, Uint4 buf_size)
static bool IsAbandoned(void)
static string PrintablePassword(const string &pass)
static bool ReadChunkData(SNCBlobVerData *ver_data, SNCChunkMaps *maps, Uint8 chunk_num, char *&buffer, Uint4 &buf_size)
Class to derive from to use RCU mechanism.
Task controlling a socket.
CTempString implements a light-weight string on top of a storage buffer whose lifetime management is ...
SNCCacheData & operator=(const SNCCacheData &)
CNCBlobVerManager * ver_mgr
virtual void ExecuteRCU(void)
Method implementing RCU job that was scheduled earlier by CallRCU().
CAtomicCounter_WithAutoInit ref_cnt
CNCBlobVerManager * Get_ver_mgr(void) const
SNCCacheData(const SNCCacheData &)
static const int chunk_size
TValue Get(void) const THROWS_NONE
Get atomic counter value.
uint32_t Uint4
4-byte (32-bit) unsigned integer
uint16_t Uint2
2-byte (16-bit) unsigned integer
int64_t Int8
8-byte (64-bit) signed integer
uint64_t Uint8
8-byte (64-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
const struct ncbi::grid::netcache::search::fields::KEY key
intr::set_base_hook< intr::tag< STimeTable_tag >, intr::optimize_size< true > > TTimeTableHook
intr::set_base_hook< intr::tag< SKeyMap_tag >, intr::optimize_size< true > > TKeyMapHook
ENCAccessType
Type of access to NetCache blob.
Full information about NetCache blob (excluding key)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4