This project is read-only.
Q. What is Liquifier? How does it fit into my project?
A. Liquifier is a library containing everything you need to serialise and deserialise. It is supplied as a binary, which is referenced by your project. No other external dependencies are required to use, or to build it.

Q. How does Liquifier work?
A. Liquifier uses reflection to find all members of a type, and to write their metadata and value to a stream. It operates recursively serialising the entire content of each member, much like BinaryFormatter. Unlike BinaryFormatter though, Liquifier performs all its serialisation within a context that records which reference types have been encountered before, allowing them to be referenced in the stream, like they are in memory.

Q. How do I use Liquifier?
A. At its simplest? Simply call the static method Liquifier.Liquify() passing in your object and stream. When you want to recreate it, call Solidify().

Q. Can I control the serialisation, deserialisation process?
A. Yes, currently you can control which members are serialised and deserialised in a number of ways. You can also ensure code runs during the serialisation/deserialisation process by implementing interfaces.

Q. Is Liquifier quick?
A. No objective tests have been done yet, but in our completely unbiased opinion, yes, its quick.
Q. Hmmm...
A. Liquifier makes extensive use of caching to ensure that the slowest parts of the code are executed as few a times as possible. Little metadata is stored in the stream (though speed, not file size, is the priority).
As an example, Liquifier will deserialise a 30Mb stream containing 46300  objects, 40453 references and 27625 values in approximately 2 seconds.

Q. Can I use Liquifier in my project which does XYZ?
A. Liquifier and its source is licensed under the New BSD so you can use and modify it any which way you like - the only useless code, is code that doesn't get used....thats philosophy right there....

Q. You realise you spelt Liquefier wrong right?
A. No, we didn't: - see, Liquefier is under 'Thesaurus'.

Last edited May 24, 2012 at 7:18 PM by sebastianfriston, version 8


No comments yet.