Class AutoSavingCache.CacheSerializer<K extends CacheKey,V>
- java.lang.Object
-
- org.apache.cassandra.cache.AutoSavingCache.CacheSerializer<K,V>
-
- Direct Known Subclasses:
CacheService.CounterCacheSerializer,CacheService.KeyCacheSerializer,CacheService.RowCacheSerializer
- Enclosing class:
- AutoSavingCache<K extends CacheKey,V>
@NotThreadSafe public abstract static class AutoSavingCache.CacheSerializer<K extends CacheKey,V> extends java.lang.ObjectA base cache serializer that is used to serialize/deserialize a cache to/from disk.It expects the following lifecycle: Serializations: 1.
serialize(CacheKey, DataOutputPlus, ColumnFamilyStore)is called for each key in the cache. 2.serializeMetadata(DataOutputPlus)is called to serialize any metadata. 3.cleanupAfterSerialize()is called to clean up any resources allocated for serialization.Deserializations: 1.
deserializeMetadata(DataInputPlus)is called to deserialize any metadata. 2.deserialize(DataInputPlus)is called for each key in the cache. 3.cleanupAfterDeserialize()is called to clean up any resources allocated for deserialization.This abstract class provides the default implementation for the metadata serialization/deserialization. The metadata includes a dictionary of column family stores collected during serialization whenever
writeCFS(DataOutputPlus, ColumnFamilyStore)orgetOrCreateCFSOrdinal(ColumnFamilyStore)are called. When such metadata is deserialized, the implementation ofdeserialize(DataInputPlus)may usereadCFS(DataInputPlus)method to read the ColumnFamilyStore stored withwriteCFS(DataOutputPlus, ColumnFamilyStore).
-
-
Constructor Summary
Constructors Constructor Description CacheSerializer()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcleanupAfterDeserialize()voidcleanupAfterSerialize()abstract Future<Pair<K,V>>deserialize(DataInputPlus in)voiddeserializeMetadata(DataInputPlus in)protected intgetOrCreateCFSOrdinal(ColumnFamilyStore cfs)protected ColumnFamilyStorereadCFS(DataInputPlus in)abstract voidserialize(K key, DataOutputPlus out, ColumnFamilyStore cfs)voidserializeMetadata(DataOutputPlus out)protected voidwriteCFS(DataOutputPlus out, ColumnFamilyStore cfs)
-
-
-
Method Detail
-
getOrCreateCFSOrdinal
protected final int getOrCreateCFSOrdinal(ColumnFamilyStore cfs)
-
readCFS
protected ColumnFamilyStore readCFS(DataInputPlus in) throws java.io.IOException
- Throws:
java.io.IOException
-
writeCFS
protected void writeCFS(DataOutputPlus out, ColumnFamilyStore cfs) throws java.io.IOException
- Throws:
java.io.IOException
-
serializeMetadata
public void serializeMetadata(DataOutputPlus out) throws java.io.IOException
- Throws:
java.io.IOException
-
deserializeMetadata
public void deserializeMetadata(DataInputPlus in) throws java.io.IOException
- Throws:
java.io.IOException
-
serialize
public abstract void serialize(K key, DataOutputPlus out, ColumnFamilyStore cfs) throws java.io.IOException
- Throws:
java.io.IOException
-
deserialize
public abstract Future<Pair<K,V>> deserialize(DataInputPlus in) throws java.io.IOException
- Throws:
java.io.IOException
-
cleanupAfterSerialize
public void cleanupAfterSerialize()
-
cleanupAfterDeserialize
public void cleanupAfterDeserialize()
-
-