Scott Lystig Fritchie
fb975eea46
WIP: giant hairball
2015-06-26 16:58:24 +09:00
Scott Lystig Fritchie
6d95d8669c
WIP: giant hairball, bleh, low-level checksum_list() barely working
2015-06-26 16:25:12 +09:00
Scott Lystig Fritchie
90efc41167
machi.proto definition for low-level protocol ops
2015-06-25 17:09:33 +09:00
Scott Lystig Fritchie
cf0d9a25b4
EDoc cleanup
2015-06-25 16:39:19 +09:00
Scott Lystig Fritchie
0b2b79cd0b
Merge branch 'slf/pb-api-experiment1'
2015-06-25 16:36:50 +09:00
Scott Lystig Fritchie
0f4d5ed775
Silence dialyzer unused function clause
2015-06-25 16:36:29 +09:00
Scott Lystig Fritchie
c2faf9f499
yolo, un-do experimental type hack
2015-06-25 16:36:14 +09:00
Scott Lystig Fritchie
d9694a992a
Alright, use term_to_binary() for opaque/sexp-style encoding, only 15x slower.
...
machi_flu1_test: timing_pb_encoding_test_... speed factor=15.12 [2.678 s] ok
2015-06-25 16:11:46 +09:00
Scott Lystig Fritchie
2763b16ca2
timing_pb_encoding_test_... speed factor=35.95 [2.730 s] ok
...
So, the PB style encoding of the Mpb_LL_WriteProjectionReq message
is about 35-36 times slower than using Erlang's term_to_binary()
and binary_to_term(). {sigh}
2015-06-25 16:11:44 +09:00
Scott Lystig Fritchie
5d8b648a24
All projection store protocol operations are now using Protocol Buffers!
...
So, there's some cheating going on, because some of the parts of
the #projection_v1{} and #p_srvr{} records aren't fully specified.
Those parts are being specified as "opaque" in the field names, e.g.
optional bytes opaque_flap = 10;
optional bytes opaque_inner = 11;
required bytes opaque_dbg = 12;
required bytes opaque_dbg2 = 13;
The serialization that's being used is erlang term sexprs. That isn't
portable. So if/when we really need to deal with a non-Erlang
language, we'll have to straighten this out further.
2015-06-25 15:26:35 +09:00
Scott Lystig Fritchie
841235b3b5
WIP: bugfixes, add {error, written}
2015-06-25 15:10:24 +09:00
Scott Lystig Fritchie
4fc0578a9d
WIP: bugfixes, machi_flu1_test still broken
2015-06-25 15:08:40 +09:00
Scott Lystig Fritchie
d9407b76b7
WIP: dinnertime, machi_flu1_test still broken
2015-06-24 18:00:25 +09:00
Scott Lystig Fritchie
31c5bcc0c7
WIP: 1/2 of low-level projection proto finished, machi_flu1_test fails
2015-06-24 17:20:18 +09:00
Scott Lystig Fritchie
725b10ba90
Complete PB round-trip for #projection_v1{}, bleh
2015-06-24 16:13:11 +09:00
Scott Lystig Fritchie
1b0cf06f1c
Fix type problem, oops
2015-06-24 14:06:17 +09:00
Scott Lystig Fritchie
2068f70700
WIP: encoding #p_srvr and #projection_v1, just starting. Damn tedious.
2015-06-24 12:50:37 +09:00
Scott Lystig Fritchie
817efb2b15
machi_pb_high_client: always be checksumming
2015-06-23 17:37:47 +09:00
Scott Lystig Fritchie
22ae33e298
Merge branch 'slf/pb-api-experiment1'
2015-06-23 17:26:55 +09:00
Scott Lystig Fritchie
d3b0b7fdc5
Clean up some dialyzer complaints
2015-06-23 17:26:15 +09:00
Scott Lystig Fritchie
727b2a987d
ROTFL forgot to add src/machi_pb_server.erl
2015-06-23 17:22:45 +09:00
Scott Lystig Fritchie
ceebe3d491
WIP: list_files #2
2015-06-23 17:17:14 +09:00
Scott Lystig Fritchie
73f71c406e
WIP: list_files end-to-end!
2015-06-23 17:08:15 +09:00
Scott Lystig Fritchie
6722b3c0f1
WIP: checksum_list incomplete implementation....
2015-06-23 16:53:06 +09:00
Scott Lystig Fritchie
6e77a4ea74
WIP: read_chunk end-to-end!
2015-06-23 16:24:08 +09:00
Scott Lystig Fritchie
44c22bf752
WIP: read_chunk #1
2015-06-23 15:34:48 +09:00
Scott Lystig Fritchie
a8782eed5a
WIP: write_chunk #1
2015-06-23 15:13:13 +09:00
Scott Lystig Fritchie
cb06c53dc0
WIP: PB append_chunk end-to-end works!
2015-06-23 14:45:24 +09:00
Scott Lystig Fritchie
5ef499ec73
WIP: append_chunk #1
2015-06-23 14:08:10 +09:00
Scott Lystig Fritchie
bb8e725c26
WIP: 'auth' request placeholders
2015-06-22 18:16:15 +09:00
Scott Lystig Fritchie
db7f1476b9
WIP: 'echo' request works end-to-end, yay!
2015-06-22 18:04:17 +09:00
Scott Lystig Fritchie
3d05f543df
WIP: new test case is failing, quick fix soon
2015-06-22 17:49:07 +09:00
Scott Lystig Fritchie
70616d3bd5
The FAQ grows, part 2e
2015-06-22 15:11:31 +09:00
Scott Lystig Fritchie
25e06da4b5
The FAQ grows, part 2d
2015-06-22 00:46:47 +09:00
Scott Lystig Fritchie
8cfc25db36
The FAQ grows, part 2c
2015-06-22 00:38:16 +09:00
Scott Lystig Fritchie
f55897afcb
The FAQ grows, part 2b
2015-06-22 00:31:41 +09:00
Scott Lystig Fritchie
d0c39a7ec1
The FAQ grows, part 2
2015-06-22 00:26:25 +09:00
Scott Lystig Fritchie
48e4bf2c1a
The FAQ grows
2015-06-22 00:09:35 +09:00
Scott Lystig Fritchie
e0fd2e909c
Typo
2015-06-21 17:54:17 +09:00
Scott Lystig Fritchie
73b6a90e78
Create FAQ.md
2015-06-21 17:47:07 +09:00
Scott Lystig Fritchie
b65293f391
Merge branch 'slf/pb-api-experiment1'
2015-06-21 15:10:54 +09:00
Scott Lystig Fritchie
dc9f272c44
Nearly dumbest-possible Protocol Buffers client request & response round trip
2015-06-19 17:21:04 +09:00
Scott Lystig Fritchie
c4bdeee4da
Oops, add missing src/machi_dt.erl
2015-06-19 17:20:49 +09:00
Scott Lystig Fritchie
0cdaee32f8
Egadz, edoc doesn't use preprocessor {sigh}
2015-06-19 16:24:57 +09:00
Scott Lystig Fritchie
984b4f7a86
Dialyzer tightening and subsequent cleanup
2015-06-19 16:04:34 +09:00
Scott Lystig Fritchie
1372bd9594
{sigh} add filter-dialyzer-dep-warnings
2015-06-19 15:22:07 +09:00
Scott Lystig Fritchie
3c300bb9f1
Add write_chunk() to machi_cr_client.erl
2015-06-19 14:49:09 +09:00
Scott Lystig Fritchie
40c0a72b48
Add test/machi_pb_test.erl, finish PB refactoring
2015-06-19 13:00:28 +09:00
Scott Lystig Fritchie
a82bd68f3c
Overhaul the 0.1 PB definition. Again.
...
Many thanks to @seancribbs for a suggestion to avoid the PB design
mistake/feature of the original Riak KV PB API.
2015-06-19 12:28:31 +09:00
Scott Lystig Fritchie
87b636a349
WIP: PB wrestling
2015-06-18 17:31:48 +09:00