Data Structures | Defines | Typedefs | Functions

P_MultiCache.h File Reference

A brief file description. More...

#include "I_EventSystem.h"
#include "I_Store.h"
Include dependency graph for P_MultiCache.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  MultiCacheBlock
struct  RebuildMC
struct  MultiCacheHeader
struct  UnsunkPtr
struct  UnsunkPtrRegistry
struct  Unmaper
struct  MultiCacheBase
struct  MultiCache< C >

Defines

#define MULTI_CACHE_MAX_LEVELS   3
#define MULTI_CACHE_MAX_BUCKET_SIZE   256
#define MULTI_CACHE_MAX_FILES   256
#define MULTI_CACHE_PARTITIONS   64
#define MULTI_CACHE_EVENT_SYNC   MULTI_CACHE_EVENT_EVENTS_START
#define MULTI_CACHE_HEAP_NONE   -1
#define MULTI_CACHE_MAGIC_NUMBER   0x0BAD2D8
#define MULTI_CACHE_MAJOR_VERSION   2
#define MULTI_CACHE_MINOR_VERSION   1
#define MULTI_CACHE_HEAP_HIGH_WATER   0.8
#define MULTI_CACHE_HEAP_INITIAL   sizeof(uint32_t)
#define MULTI_CACHE_HEAP_ALIGNMENT   8
#define MULTI_CACHE_OFFSET_PARITION(_x)   ((_x)%MULTI_CACHE_PARTITIONS)
#define MULTI_CACHE_OFFSET_INDEX(_x)   ((_x)/MULTI_CACHE_PARTITIONS)
#define MULTI_CACHE_OFFSET(_p, _o)   ((_p) + (_o) * MULTI_CACHE_PARTITIONS)
#define MULTI_CACHE_UNSUNK_PTR_BLOCK_SIZE(_e)   ((_e / 8) / MULTI_CACHE_PARTITIONS)
#define PtrMutex   Ptr<ProxyMutex>
#define MC_REBUILD   0
#define MC_REBUILD_CHECK   1
#define MC_REBUILD_FIX   2
#define REBUILD_FOLDED_MD5(_cl)   ((_cl->tag() * (uint64_t)buckets + (uint64_t)bucket))

Typedefs

typedef int three_ints [3]
typedef int two_ints [2]

Functions

uint64_t fold_md5 (INK_MD5 const &md5)
void stealStore (Store &s, int blocks)

Detailed Description

A brief file description.

License

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition in file P_MultiCache.h.


Define Documentation

#define MC_REBUILD   0

Definition at line 298 of file P_MultiCache.h.

Referenced by MultiCacheBase::rebuild().

#define MC_REBUILD_CHECK   1

Definition at line 299 of file P_MultiCache.h.

Referenced by MultiCacheBase::check(), and MultiCacheBase::rebuild().

#define MC_REBUILD_FIX   2

Definition at line 300 of file P_MultiCache.h.

Referenced by MultiCacheBase::check(), and MultiCacheBase::rebuild().

#define MULTI_CACHE_EVENT_SYNC   MULTI_CACHE_EVENT_EVENTS_START
#define MULTI_CACHE_HEAP_ALIGNMENT   8

Definition at line 64 of file P_MultiCache.h.

Referenced by MultiCacheBase::alloc().

#define MULTI_CACHE_HEAP_HIGH_WATER   0.8

Definition at line 61 of file P_MultiCache.h.

Referenced by MultiCacheBase::sync_partitions().

#define MULTI_CACHE_HEAP_INITIAL   sizeof(uint32_t)

Definition at line 63 of file P_MultiCache.h.

#define MULTI_CACHE_HEAP_NONE   -1

Definition at line 51 of file P_MultiCache.h.

#define MULTI_CACHE_MAGIC_NUMBER   0x0BAD2D8

Definition at line 53 of file P_MultiCache.h.

#define MULTI_CACHE_MAJOR_VERSION   2

Definition at line 57 of file P_MultiCache.h.

#define MULTI_CACHE_MAX_BUCKET_SIZE   256

Definition at line 43 of file P_MultiCache.h.

#define MULTI_CACHE_MAX_FILES   256

Definition at line 44 of file P_MultiCache.h.

#define MULTI_CACHE_MAX_LEVELS   3

Definition at line 42 of file P_MultiCache.h.

#define MULTI_CACHE_MINOR_VERSION   1

Definition at line 58 of file P_MultiCache.h.

#define MULTI_CACHE_OFFSET (   _p,
  _o 
)    ((_p) + (_o) * MULTI_CACHE_PARTITIONS)

Definition at line 69 of file P_MultiCache.h.

#define MULTI_CACHE_OFFSET_INDEX (   _x  )     ((_x)/MULTI_CACHE_PARTITIONS)

Definition at line 68 of file P_MultiCache.h.

#define MULTI_CACHE_OFFSET_PARITION (   _x  )     ((_x)%MULTI_CACHE_PARTITIONS)

Definition at line 67 of file P_MultiCache.h.

#define MULTI_CACHE_PARTITIONS   64
#define MULTI_CACHE_UNSUNK_PTR_BLOCK_SIZE (   _e  )     ((_e / 8) / MULTI_CACHE_PARTITIONS)
#define PtrMutex   Ptr<ProxyMutex>

Definition at line 180 of file P_MultiCache.h.

#define REBUILD_FOLDED_MD5 (   _cl  )     ((_cl->tag() * (uint64_t)buckets + (uint64_t)bucket))

Definition at line 540 of file P_MultiCache.h.

Referenced by MultiCache< C >::flush(), and MultiCache< C >::rebuild_element().


Typedef Documentation

typedef int three_ints[3]

Definition at line 192 of file P_MultiCache.h.

typedef int two_ints[2]

Definition at line 193 of file P_MultiCache.h.


Function Documentation

uint64_t fold_md5 ( INK_MD5 const &  md5  )  [inline]
void stealStore ( Store s,
int  blocks 
)