UENISHI Kota
c42cba1d54
erlang: fixed bug around error case when serializing atom.
2010-08-27 23:02:16 +09:00
UENISHI Kota
dcbcf5842f
erlang: msgpack:unpack_all/1 doc.
2010-07-18 23:55:07 +09:00
UENISHI Kota
8a3ac6d9bd
erlang: omake menus added.
2010-07-18 23:50:29 +09:00
UENISHI Kota
6cabad19d5
erlang: unpack_all/1 improve, error handling added.
2010-07-18 23:48:20 +09:00
UENISHI Kota
dad7a03d19
erlang: stopped support for dict() type.
2010-07-18 23:42:23 +09:00
UENISHI Kota
7b152640d9
erlang: 'edoc' document generation
2010-07-18 23:40:25 +09:00
Vincent de Phily
e629e8784f
erlang: Improve documentation
...
The doc is in edoc format, generated from the source as an html file.
The makefile's default action now also generates the documentation.
I ignored unpack_all/1 and pack(dict()) for now because their future is still uncertain.
2010-07-12 14:08:22 +02:00
Vincent de Phily
e944c1ee93
erlang: Only handle throw() in pack/1 and unpack/1
...
Rationale: We only use throw/1 for error handling, never erlang:error/1.
Caller bugs will get a nice {error,...} return while library bugs will
bubble up in all their uglyness; that's the proper way to do things
in erlang.
2010-07-09 20:37:06 +02:00
Vincent de Phily
02c882bda3
erlang: Make pack_map/1 api private
2010-07-09 20:34:38 +02:00
Vincent de Phily
2c29377abf
erlang: s/short/incomplete/ and s/badarg/{badarg,Term}/
...
Nicer error returns.
2010-07-09 20:30:17 +02:00
Vincent de Phily
21992f1b9e
erlang: fix receiving from port_command in unit tests
...
Ports can send data bit by bit; make sure we read all the port has to offer in one go.
This should fix the "broken pipe" error we sometime got during testing.
We did not previously check the return of compare_all/2, which is why the bug was not noticed.
Incidentally, this change fixes dialyzer warnings too.
2010-07-09 18:53:24 +02:00
Vincent de Phily
8a3f090684
erlang: Fix some existing specs and add a few other.
...
dialyzer still complains about dict() and ?assert(false), but I don't think they're real issues.
2010-07-09 17:36:36 +02:00
Vincent de Phily
ba4a971bfa
erlang: Remove unecessary 'throw(short)' clause for unpack_{array,map}_/1
...
Unecessary because unpack_/1 will throw it anyway.
This does mean that we go a tiny bit deeper to find that we don't have enough data,
but that should be a rare code path. Keep the main code path fast and the code clean.
While at it, rename vars to match its sibling function and to avoid thinking that
RestLen is a byte count (it's an item count).
2010-07-09 13:44:02 +02:00
Vincent de Phily
6abc120279
erlang: Fix incomplete/invalid cases of unpack_/1
...
* fix list of invalid bytes was missing 3 possibilities (see type chart section of msgpack format spec)
* fix matching of invalid bytes to look at 1 byte instead of 2
* simplify 'incomplete' case : anything that's not complete or invalid is by definition incomplete
2010-07-09 13:29:47 +02:00
Vincent de Phily
64c36b7a8f
Remove a couple of superfluous 'when' clauses.
...
The when clause for unpack_/1 has been moved to unpack/1 so that it is performed only once.
2010-07-09 13:06:57 +02:00
Vincent de Phily
64b9f0762c
Merge branch 'master' of git://github.com/msgpack/msgpack
...
Reseting msgpack.erl to upstream version.
2010-07-09 12:35:22 +02:00
UENISHI Kota
e799082e5c
erlang: better test cases, except 'Broken pipe'
2010-07-09 01:21:35 +09:00
UENISHI Kota
eab66a022e
erlang: added try-catch clause for easy error handling
2010-07-09 01:04:09 +09:00
UENISHI Kota
485915c27a
erlang: added simple performance test description.
2010-07-08 23:39:47 +09:00
UENISHI Kota
45fb482ab4
erlang: added simple performance test.
2010-07-08 23:36:18 +09:00
UENISHI Kota
584462f9b9
erlang: improved spec.
2010-07-01 01:16:25 +09:00
UENISHI Kota
ff5d5d7cbc
erlang: updated the comments
2010-07-01 01:14:38 +09:00
UENISHI Kota
370e92b1a6
erlang: just a golf.
2010-07-01 01:14:20 +09:00
UENISHI Kota
2469768a85
erlang: reducing unnecessary binary matching in unpack_/2
...
* more efficient unpack_/1 by Vincent de Phille's code. thanks.
2010-07-01 01:07:56 +09:00
UENISHI Kota
acb8fa613e
erlang: adding shorthand fix for {more, undefined} problem
2010-07-01 01:02:19 +09:00
UENISHI Kota
83b4b7d83d
erlang: more suitable variable name and removing unnecessary guards.
2010-07-01 00:58:48 +09:00
Vincent de Phily
33a7d56042
* Return {more,undefined} instead of {more,integer()}, as we can only know the "minimum bytes needed to continue" instead of the actually usefull "total packet size".
...
* Merge all {more,...} clauses of unpack_/1 into one.
* Reformat unpack_/1 for readability.
* Fix some specs, error values, and documentation.
2010-06-29 11:59:56 +02:00
Vincent de Phily
8f7f23a0e5
Rewrite unpack_/1 using pattern matching to get a 30-40% speedup.
...
Simplify pack_* and unpack_{array,map} function clauses to get more readability and a minor speedup.
2010-06-28 18:11:52 +02:00
UENISHI Kota
90e305d789
erlang: explicit API for serializing proplists,
...
so as not to make wrong call of pack({proplists()}).
2010-06-29 00:23:49 +09:00
UENISHI Kota
9b5fc37399
Merge branch 'master' of http://github.com/vincentdephily/msgpack
2010-06-29 00:10:10 +09:00
Vincent de Phily
537322e3b5
Big speedup (around 40%) of maps and arrays encoding by using proper tail recursion.
2010-06-28 14:17:44 +02:00
Vincent de Phily
279121f87f
erlang: Use a simple proplist instead of a dict.
...
A dict is overkill (code, cpu, memory) in most cases, and proplist<->dict conversion can easily be done by the libray user if desired.
This is in line with other erlang libraries I've seen for various encoding schemes.
The map encoder had a bug until I looked at it (see previous commit), so I guess it wasn't used much yet and a change is ok at this stage.
The chosen representation for maps is a tuple containing the proplist as the only element.
2010-06-28 11:56:12 +02:00
UENISHI Kota
a1b2b41cdc
erlang: bugfix(serialization of -234 goes <<208,22>> while it should go int16 <<0xD1, ...>>)
2010-06-26 08:40:36 +09:00
Vincent de Phily
0cca90c21d
Fix encoding of fixmap type.
...
The tag value was wrong, and a missing /binary flag caused an error.
2010-06-25 17:32:11 +02:00
UENISHI Kota
ad052cb510
updated readme
2010-06-25 01:26:57 +09:00
UENISHI Kota
57f0598373
erlang: code refined and tests added
2010-06-25 00:44:14 +09:00
UENISHI Kota
92d192277e
erlang: unpack_map's silly bug fixed. use dict:store/3....
2010-06-25 00:22:53 +09:00
UENISHI Kota
2cdfbd8970
erlang: testing pack_map/unpack_map with a silly bug
2010-06-24 07:26:34 +09:00
UENISHI Kota
bc0c5f0cdc
erlang: (un)pack_map improved, incremental unpacking
2010-06-23 09:02:53 +09:00
UENISHI Kota
230ee3a03b
erlang: too short binary to decode causes error {more, Int}.
2010-06-23 01:26:10 +09:00
UENISHI Kota
b1e66256ce
erlang: external APIs' type/specs.
2010-06-22 11:28:36 +09:00
UENISHI Kota
fd80693420
erlang: tests improved and code refined.
2010-06-22 11:15:18 +09:00
UENISHI Kota
7cd41aeb72
erlang: tracing crosslang.rb moving to ../test
2010-06-03 00:17:17 +09:00
UENISHI Kota
49f3872d04
erlang: temporary documentation and .gitignore
2010-06-01 00:31:12 +09:00
UENISHI Kota
d9b467098a
erlang: added more cross-language tests. better type specification.
2010-05-31 23:56:06 +09:00
UENISHI Kota
7d1e51437e
erlang: added usage of cross-language test.
2010-05-31 23:13:32 +09:00
UENISHI Kota
d7d78d9a2b
added more tests,
...
and OMake continuous building.
2010-05-31 00:25:53 +09:00
UENISHI Kota
6b5b76b0c9
initial import from http://bitbucket.org/kuenishi/messagepack-for-erlang
2010-05-30 15:01:10 +09:00