|
Boost Users : |
From: j.c. (jolix_at_[hidden])
Date: 2008-04-14 21:01:47
Nothing lines up, if I set class version then the last parameter is
set. Also I think these are int's which is quite large(6 *
sizefof(int)) for a packet header.
packet_ping: 44
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="4">
<tst2 class_id="0" tracking_level="1" version="0" object_id="_0">
</tst2>
On Apr 14, 2008, at 4:23 PM, Robert Ramey wrote:
> try using the xml_archive - all the "extra" bytes show up as labeled
> attributes.
>
> Robert Ramey
> "j.c." <jolix_at_[hidden]> wrote in message news:F58B74D0-78DC-4E07-ABD5-3F0C7BAC831B_at_[hidden]
> ...
> ok I have this working, however...
>
>
> packet_base: 12
> packet_ping: 44
> 0 1 0
> 0 0 1001 44 2 3 7 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 0 0 0 0 0 0 0 0
> ^ packet actually starts here(packet_length).
>
> There are 6 extra bytes overhead I know that 1001 is my class
> version. What are 0, 1, 0, 0 and 0?
>
> I need this info for writing packet de-serialization in other
> languages.
>
> Thanks in advance.
>
> On Apr 14, 2008, at 8:21 AM, j.c. wrote:
>> Sweet, just what I was looking for, thanks.
>>
>>
>> On Apr 14, 2008, at 8:31 AM, Robert Ramey wrote:
>>> lookup base_object in the documentation.
>>>
>>> Robert Ramey
>>>
>>> "j.c." <jolix_at_[hidden]> wrote in message news:CB290CFC-9ABD-4FF9-80C1-766E3063F8A6_at_[hidden]
>>> ...
>>> I am writing a packet base class that can be serialized. The class
>>> so far looks like:
>>>
>>> class packet_base
>>> {
>>> using namespace boost;
>>>
>>> public:
>>> packet_base();
>>> ~packet_base();
>>>
>>> friend class boost::serialization::access;
>>> template <typename Archive>
>>> void serialize(Archive & ar, const unsigned int version)
>>> {
>>> ar & m_length;
>>> ar & m_type;
>>> ar & m_method;
>>> }
>>>
>>> private:
>>>
>>> uint16_t m_length;
>>> uint16_t m_type;
>>> uint16_t m_method;
>>> };
>>>
>>> The question now is how can I derive class A from packet_base and
>>> have both packet_base and A's variables serialized? Obviously
>>> base_class needs to be archived first so it's variables are at the
>>> front of the buffer.
>>>
>>> Thanks in advance.
>>> J
>>>
>>>
>>> _______________________________________________
>>> Boost-users mailing list
>>> Boost-users_at_[hidden]
>>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>>> _______________________________________________
>>> Boost-users mailing list
>>> Boost-users_at_[hidden]
>>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>>
>> _______________________________________________
>> Boost-users mailing list
>> Boost-users_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net