VMware GemFire Native C++ Reference  9.1
apache::geode::client::CacheableByte Class Reference

An immutable wrapper for bytes that can serve as a distributable key object for caching. More...

Inherits apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >.

Public Member Functions

virtual int32_t classId () const
 Return the classId of the instance being serialized. More...
 
virtual int8_t DSFID () const
 return the Data Serialization Fixed ID type. More...
 
virtual SerializablefromData (DataInput &input)
 Deserialize this object from given DataInput. More...
 
virtual int32_t hashcode () const
 Return the hashcode for this key. More...
 
virtual int32_t logString (char *buffer, int32_t maxLength) const
 Copy the string form of the object into a char* buffer for logging purposes. More...
 
virtual uint32_t objectSize () const
 Return the size in bytes of the instance being serialized. More...
 
virtual bool operator== (const CacheableKey &other) const
 Return true if this key matches other. More...
 
bool operator== (const TObj other) const
 Return true if this key matches other key value. More...
 
void preserveSB () const
 Atomically increment reference count. More...
 
int32_t refCount ()
 
void releaseSB () const
 Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero. More...
 
virtual void toData (DataOutput &output) const
 Serialize this object to given DataOutput. More...
 
virtual CacheableStringPtr toString () const
 Return a string representation of the object. More...
 
virtual int8_t typeId () const
 Return the typeId byte of the instance being serialized. More...
 
TObj value () const
 Gets the contained value. More...
 

Static Public Member Functions

template<class PRIM >
static CacheableKeyPtr create (const PRIM value)
 Factory method that creates the key type that matches the type of value. More...
 
static CacheableBytePtr create ()
 Factory function to create a new default instance. More...
 
static CacheableBytePtr create (const uint8_t value)
 Factory function to create an instance with the given value. More...
 
static SerializablecreateDeserializable ()
 Factory function registered with serialization registry. More...
 
static void registerPdxSerializer (PdxSerializerPtr pdxSerializer)
 Register the PDX serializer which can handle serialization for instances of user domain classes. More...
 
static void registerPdxType (TypeFactoryMethodPdx creationFunction)
 register an Pdx instance factory method for a given type. More...
 
static void registerType (TypeFactoryMethod creationFunction)
 register an instance factory method for a given type. More...
 

Detailed Description

An immutable wrapper for bytes that can serve as a distributable key object for caching.

Member Function Documentation

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual int32_t apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::classId ( ) const
inlinevirtualinherited

Return the classId of the instance being serialized.

This is used by deserialization to determine what instance type to create and deserialize into.

Implements apache::geode::client::Serializable.

template<class PRIM >
static CacheableKeyPtr apache::geode::client::CacheableKey::create ( const PRIM  value)
inlinestaticinherited

Factory method that creates the key type that matches the type of value.

For customer defined derivations of CacheableKey, the method apache::geode::client::createKey may be overloaded. For pointer types (e.g. char*) the method apache::geode::client::createKeyArr may be overloaded.

static CacheableBytePtr apache::geode::client::CacheableByte::create ( )
inlinestatic

Factory function to create a new default instance.

static CacheableBytePtr apache::geode::client::CacheableByte::create ( const uint8_t  value)
inlinestatic

Factory function to create an instance with the given value.

static Serializable* apache::geode::client::CacheableByte::createDeserializable ( )
inlinestatic

Factory function registered with serialization registry.

virtual int8_t apache::geode::client::Serializable::DSFID ( ) const
virtualinherited

return the Data Serialization Fixed ID type.

This is used to determine what instance type to create and deserialize into.

Note that this should not be overridden by custom implementations and is reserved only for builtin types.

Reimplemented in apache::geode::client::Struct, and apache::geode::client::CacheableUndefined.

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual Serializable* apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::fromData ( DataInput input)
inlinevirtualinherited

Deserialize this object from given DataInput.

Implements apache::geode::client::Serializable.

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual int32_t apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::hashcode ( ) const
inlinevirtualinherited

Return the hashcode for this key.

Implements apache::geode::client::CacheableKey.

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual int32_t apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::logString ( char *  buffer,
int32_t  maxLength 
) const
inlinevirtualinherited

Copy the string form of the object into a char* buffer for logging purposes.

Reimplemented from apache::geode::client::CacheableKey.

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual uint32_t apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::objectSize ( ) const
inlinevirtualinherited

Return the size in bytes of the instance being serialized.

This is used to determine whether the cache is using up more physical memory than it has been configured to use. The method can return zero if the user does not require the ability to control cache memory utilization.

Reimplemented from apache::geode::client::Serializable.

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual bool apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::operator== ( const CacheableKey other) const
inlinevirtualinherited

Return true if this key matches other.

Implements apache::geode::client::CacheableKey.

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
bool apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::operator== ( const TObj  other) const
inlineinherited

Return true if this key matches other key value.

void apache::geode::client::SharedBase::preserveSB ( ) const
inherited

Atomically increment reference count.

int32_t apache::geode::client::SharedBase::refCount ( )
inlineinherited
Returns
the reference count
static void apache::geode::client::Serializable::registerPdxSerializer ( PdxSerializerPtr  pdxSerializer)
staticinherited

Register the PDX serializer which can handle serialization for instances of user domain classes.

See also
PdxSerializer
static void apache::geode::client::Serializable::registerPdxType ( TypeFactoryMethodPdx  creationFunction)
staticinherited

register an Pdx instance factory method for a given type.

Exceptions
IllegalStateExceptionif the typeName has already been registered, or there is an error in registering the type; check errno for more information in the latter case.
static void apache::geode::client::Serializable::registerType ( TypeFactoryMethod  creationFunction)
staticinherited

register an instance factory method for a given type.

During registration the factory will be invoked to extract the typeId to associate with this function.

Exceptions
IllegalStateExceptionif the typeId has already been registered, or there is an error in registering the type; check errno for more information in the latter case.
void apache::geode::client::SharedBase::releaseSB ( ) const
inherited

Atomically decrement reference count, the SharedBase object is automatically deleted when its reference count goes to zero.

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual void apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::toData ( DataOutput output) const
inlinevirtualinherited

Serialize this object to given DataOutput.

Implements apache::geode::client::Serializable.

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual CacheableStringPtr apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::toString ( ) const
inlinevirtualinherited

Return a string representation of the object.

Reimplemented from apache::geode::client::Serializable.

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
virtual int8_t apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::typeId ( ) const
inlinevirtualinherited

Return the typeId byte of the instance being serialized.

This is used by deserialization to determine what instance type to create and deserialize into.

Reimplemented from apache::geode::client::Serializable.

template<typename TObj , int8_t TYPEID, const char * TYPENAME, const char * SPRINTFSYM, int32_t STRSIZE>
TObj apache::geode::client::CacheableKeyType< TObj, TYPEID, TYPENAME, SPRINTFSYM, STRSIZE >::value ( ) const
inlineinherited

Gets the contained value.


Pivotal GemFire C++ Cache API Documentation