|
Hazelcast C++ Client
|
Base class for custom serialization. More...
#include <Serializer.h>
Inheritance diagram for hazelcast::client::serialization::Serializer< Serializable >:Public Member Functions | |
| virtual | ~Serializer () |
| Destructor. | |
| virtual void | write (ObjectDataOutput &out, const Serializable &object)=0 |
| This method writes object to ObjectDataOutput. More... | |
| virtual void | read (ObjectDataInput &in, Serializable &object)=0 |
| Reads object from objectDataInputStream. More... | |
Public Member Functions inherited from hazelcast::client::serialization::SerializerBase | |
| virtual | ~SerializerBase () |
| Destructor. | |
| virtual int32_t | getHazelcastTypeId () const =0 |
| unique type id for this serializer. More... | |
Base class for custom serialization.
If your all classes that needs to be serialized inherited from same class you can use an implementation like following
class MyCustomSerializer : public serialization::Serializer<ExampleBaseClass> {
public:
void write(serialization::ObjectDataOutput & out, const ExampleBaseClass& object);
void read(serialization::ObjectDataInput & in, ExampleBaseClass& object);
int32_t getHazelcastTypeId() const;
};
}
Or if they are not inherited from same base class you can use a serializer class like following
with templates.
template<typename T>
class MyCustomSerializer : public serialization::Serializer<T> {
public:
void write(serialization::ObjectDataOutput & out, const T& object) {
..... }
void read(serialization::ObjectDataInput & in, T& object) { ..... }
int32_t getHazelcastTypeId() const { .. } };
Along with serializer following function should be provided with same namespace that ExampleBaseClass
belongs to
int32_t getHazelcastTypeId(const MyClass*);
which should return same id with its serializer.
User than can register serializer via SerializationConfig as follows
clientConfig.getSerializationConfig().registerSerializer(
boost::shared_ptr<hazelcast::client::serialization::SerializerBase>(new MyCustomSerializer());
|
pure virtual |
Reads object from objectDataInputStream.
| in | ObjectDataInput stream that object will read from |
| object | read object |
|
pure virtual |
This method writes object to ObjectDataOutput.
| out | ObjectDataOutput stream that object will be written to |
| object | that will be written to out |
1.8.11