Skip to content
This repository has been archived by the owner on Aug 13, 2021. It is now read-only.
/ lua-serialize Public archive
forked from cloudwu/lua-serialize

Serialize lua objects into a binary block

Notifications You must be signed in to change notification settings

koreader/lua-serialize

 
 

Repository files navigation

    local serialize = require "serialize"

    -- pack serialize lua objects into a lightuserdata (use malloc internal) 
    -- It supports types : nil , number , boolean, lightuserdata , string , table (without recursion)
    local bin = serialize.pack(...) 

    -- You can append some objects end of the binary block packed before
    serialize.append(bin, ...)

    -- unpack extract ... from bin, and free the memory. 
    -- If a packed bin is not serialized or dumped, unpack should be called on that bin to free memory. 
    -- You can only unpack binary block once.
    serialize.unpack(bin)

    -- You can use serialize.serialize(bin) to serialize them to one block
    -- You can send the block to the other process.
    local block, length = serialize.serialize(bin)

    -- You can use serialize.deserialize(block) to deserialize block to variables
    serialize.deserialize(block)

    -- You can dump variables to a binary file.
    -- It supports types as serialize.pack
    serialize.dump(..., "dump.bin")

    -- Then the dumped file can be loaded to variables.
    serialize.load("dump.bin")

About

Serialize lua objects into a binary block

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 75.3%
  • Lua 19.0%
  • Makefile 5.7%