Use page-backed buffers for C++ serialization input or output
-------------------------------------------------------------

                 Key: AVRO-508
                 URL: https://issues.apache.org/jira/browse/AVRO-508
             Project: Avro
          Issue Type: New Feature
          Components: c++
            Reporter: Scott Banachowski


This change came about when I looked at how to tie the object container and 
http changes to the serializer.

The current implementation of C++ allows serialization to and from C++  
iostreams.  However, typically I want to serialize to a buffer, which I can 
write to disk or network (or both).  While iostreams do buffering, they're not 
well-suited if you just want to store to memory (the unittest examples 
serialize to ostringstream then extract the data as a string--not so 
efficient).  

So I've added a buffering library, that does page-backed allocations (adds a 
page as buffer grows).  It also supports the concept classes defined by 
boost::asio for Constant and Mutable buffer sequences (this allows the buffers 
to be used directly in asio networking calls), conversion to iovec, appending 
of foreign buffers, and iostream interface wrapper, so it's pretty flexible in 
the way it can be used.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to