Get an Epic Experience with Premium

Lib: Serialize

Libraries Login to Add Favorites
  • 0 Likes
  • World of Warcraft
  • 10 Monthly Downloads
  • Supports: 4.3
  • 612 Total Downloads
  • Updated 01/29/2012
  • Created 01/10/2012
  • 0 Favorites
  • Project Site
  • Comments
  • Release Type: Inactive
  • License: Public Domain
  • Newest File: 0.9.1.beta
or

About Lib: Serialize

I needed to store and export realy big (+-500 mb) chunks of data from wow, therefore I created this library... It serializes wow lua structures, uses references so it can handle almost any lua table (even with cyclic table references for example). Because of using references, it actually stores data really effectively (it is a type of simple compression) so it can help to store persistent addon data in much smaller 'saved variables' files. It was also optimalized for speed (but sure more can be done there). Since I needed to use those data in web environment I ported deserialization to javascript...

but still it is beta and I am testing different approaches (for example base100 coding for float number storage)...

How to use:

local Serializer=LibStub("LibSerialize");  -- get it

String = Serializer:Serialize(Data); -- serialize those Data into a String

Data = Serializer:DeSerialize(String); -- deserialize that String back into Data

todo: many many things...these pop up in my mind

a) preinitialization with well known strings (for addons to reduce actual amount of data transferred)

b) number-convert cache for speed up

c) some LRU type cache especialy for floating number serialization

------------------------------------------------------------------------
r10 | dieendieen | 2012-01-29 12:39:07 +0000 (Sun, 29 Jan 2012) | 1 line
Changed paths:
   A /tags/0.9.1.beta (from /trunk:9)

Tagging as 0.9.1.beta
------------------------------------------------------------------------
r9 | dieendieen | 2012-01-29 12:23:51 +0000 (Sun, 29 Jan 2012) | 1 line
Changed paths:
   M /trunk/LibSerialize.toc
   M /trunk/serializer.lua

bit of code cleaning
------------------------------------------------------------------------
r7 | dieendieen | 2012-01-14 19:47:54 +0000 (Sat, 14 Jan 2012) | 1 line
Changed paths:
   M /trunk/LibSerialize.toc
   M /trunk/serializer.lua

first release candidate version
------------------------------------------------------------------------
r5 | dieendieen | 2012-01-13 14:42:20 +0000 (Fri, 13 Jan 2012) | 1 line
Changed paths:
   M /trunk/LibSerialize.toc
   M /trunk/serializer.lua

updates
------------------------------------------------------------------------
r3 | dieendieen | 2012-01-12 10:07:30 +0000 (Thu, 12 Jan 2012) | 1 line
Changed paths:
   A /trunk/libs
   A /trunk/libs/LibStub
   A /trunk/libs/LibStub/Changelog-LibStub-1.0.2-40200.txt
   A /trunk/libs/LibStub/LibStub.lua
   A /trunk/libs/LibStub/LibStub.toc
   A /trunk/libs/LibStub/tests
   A /trunk/libs/LibStub/tests/test.lua
   A /trunk/libs/LibStub/tests/test2.lua
   A /trunk/libs/LibStub/tests/test3.lua
   A /trunk/libs/LibStub/tests/test4.lua

added embedded LibStub
------------------------------------------------------------------------
r2 | dieendieen | 2012-01-12 10:03:32 +0000 (Thu, 12 Jan 2012) | 1 line
Changed paths:
   A /trunk/LibSerialize.toc
   A /trunk/embeds.xml
   A /trunk/serializer.lua

initial version, mostly functional, but lot of things needs lot of polishing
------------------------------------------------------------------------
r1 | svn | 2012-01-10 15:29:05 +0000 (Tue, 10 Jan 2012) | 1 line
Changed paths:
   A /branches
   A /tags
   A /trunk

libserialize/mainline: Initial Import
------------------------------------------------------------------------

Comments

  • #1

    Btw pls, if you have an idea for some use of this library, just write me some info, cause I could probably improve it in direction you would need. Even I tested and tuned it a lot atm it is more like core package ready to be pampered :)

  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

ESO Prize Pack Giveaway!