[ 
https://issues.apache.org/jira/browse/LUCY-81?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marvin Humphrey updated LUCY-81:
--------------------------------

    Attachment: freezer.diff

The freezer.diff patch adds Lucy::Util::Freezer, which provides two utility
routines for serializing arbitrary objects: FREEZE(Obj, OutStream) and
THAW(InStream).  These work by first prepending the class name to the
serialized data, then using that class name on thaw to find the right
deserialization function.

> Object serialization
> --------------------
>
>                 Key: LUCY-81
>                 URL: https://issues.apache.org/jira/browse/LUCY-81
>             Project: Lucy
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Marvin Humphrey
>            Assignee: Marvin Humphrey
>         Attachments: bytebuf_serialization.diff, charbuf_serialization.diff, 
> freezer.diff, obj_serialize.diff
>
>
> Objects are serialized to OutStreams and deserialized from InStreams.  Hooks
> are provided for the Perl core serialization module Storable, so that e.g.
> Storable::freeze($query) works as expected; hopefully it will prove practical
> to hook into canonical serialization routines for other hosts as well.
> The primary utility for serialization is communication between machines within
> search clusters, so all classes that may need to be sent across the network
> will eventually get serialization routines.  However, only Lucy installations
> with exactly the same version can be guaranteed to serialize and deserialize
> each others data; rolling updates are not supported.

-- 
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