direct, i.e. no-copy, de/serialization support
This commit is contained in:
1 parent
cd95b75563
commit
0dd6f01ef6
8 files changed
+275
-2
No files matched your search
@@ -63,6 +63,12 @@ public:
|
||||
buffer->align(alignment);
|
||||
}
|
||||
|
||||
virtual bool directSerialize(ByteBuffer */*existingBuffer*/, const char* /*toSerialize*/,
|
||||
std::size_t /*elementCount*/, std::size_t /*elementSize*/)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual void cachedSerialize(std::tr1::shared_ptr<const Field> const & field, ByteBuffer* buffer)
|
||||
{
|
||||
field->serialize(buffer, this);
|
||||
@@ -85,6 +91,12 @@ public:
|
||||
buffer->align(alignment);
|
||||
}
|
||||
|
||||
virtual bool directDeserialize(ByteBuffer */*existingBuffer*/, char* /*deserializeTo*/,
|
||||
std::size_t /*elementCount*/, std::size_t /*elementSize*/)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual std::tr1::shared_ptr<const Field> cachedDeserialize(ByteBuffer* buffer)
|
||||
{
|
||||
return getFieldCreate()->deserialize(buffer, this);
|
||||
|
||||
Reference in new issue
Block a user