I've been using msgpack for a while, unfortunately I've just
discovered it doesn't support serializing circular references
(http://jira.msgpack.org/browse/MSGPACK-81), e.g.:
import msgpack;
class Foo
{
int x;
Bar obj;
}
class Bar
{
int x;
Foo obj;
}
void main()
{
auto foo = new Foo();
auto bar = new Bar();
foo.obj = bar;
bar.obj = foo;
ubyte[] data = msgpack.pack(foo);
}
Orange doesn't work with circular references either. Is there any
other serialization library that supports this scenario? I'm looking
for something fast, and binary format is ok, I don't need a
user-readable format.