Still writing...
MessagePack for C++ and liblua 5.1 is required.
Run ./configure && make && make install.
require "msgpack" -- pack accepts variable length arguments. -- data is a string. data = msgpack.pack(1, 2, 3, "strings", {"a", "r", "r", "a", "y", "s"}, {t = "a", b = "l", e = "s"; 1, 2, 3, 4})
Simple deserialization:
require "msgpack" a, b, c = msgpack.unpack(msgpack.pack(1, 2, 3)) -- a == 1, b == 2, c == 3 ar = msgpack.unpackToArray(msgpack.pack(1, 2, 3)) -- ar[1] == 1, ar[2] == 2, ar[3] == 3
Stream deserialization:
require "msgpack" u = msgpack.Unpacker() u:feed(data) for v in u do -- v has a serialized data end