avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Banachowski (JIRA)" <j...@apache.org>
Subject [jira] Created: (AVRO-508) Use page-backed buffers for C++ serialization input or output
Date Mon, 05 Apr 2010 17:29:27 GMT
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.


Mime
View raw message