gardners
f7e75d5347
debugging and abstraction improvements in rhizome direct
...
synchronisation code. #9
2012-09-21 13:41:27 +02:00
gardners
692eb2cdc9
added BAR list comparison code for Rhizome direct.
...
Now returns series of "I have [newer]"'s and "Please send me"'s,
consisting of a 1 byte ID (0x01 or 0x02 respectively), followed
by the 64bit BID prefix from the BAR. As with all of Rhizome
Direct at present, the geo bounding box is ignored for now.
2012-09-14 12:10:14 +08:00
gardners
6553050566
rhizome direct enquiry request now gets back enquiry response,
...
and realises that it needs to process it. It does not yet
process it. #9
2012-09-11 14:34:58 +09:30
gardners
9a5dbbd14f
rhizome direct http transport now asks for response to enquiry when
...
enquiry received by server. Generating responses to enquiries not
yet implemented. #9
2012-09-11 13:09:40 +09:30
gardners
4f5f2c2444
work towards http transport working for rhizome direct. #9
2012-09-10 20:22:14 +09:30
gardners
872b88f744
fixed hanging bug. still gets bundles showing up in query
...
results even though size bin is wrong. That bug doesn't stop
us for now, but should be sorted out.
rhizome_direct_http_dispatch() can now be implemented
(synchronously for now will be fine).
2012-09-10 09:22:44 +09:30
gardners
dd01f7939d
further work on rhizome direct dispatching etc.
...
For some reason finds the same manifest several times (size bin
filtering seems to not be working right).
Also sync doesn't realise it has finished, and so doesn't return
when done.
2012-09-10 09:16:27 +09:30
gardners
d796a482b7
refactored rhizome direct code to separate http transport specific
...
code from general rhizome direct BAR buffer gathering and processing.
2012-09-09 13:50:09 +09:30
gardners
1d4c865a35
fixed bugs in cursor range pickling. #9
2012-09-09 09:15:52 +09:30
gardners
f0c4bfd7bf
fixed cursor range reporting bugs. #9
2012-09-09 09:06:38 +09:30
gardners
27fc7a44d0
rhizome direct cursor operations now include pickled cursor range
...
in output buffer (but doesn't yet report the range correctly). #9
2012-09-09 08:58:47 +09:30
gardners
0207d8e541
added cursor limit pickling, restoration functions. cursor
...
functions now try to honour these. Not yet tested. #9
2012-09-09 08:30:38 +09:30
gardners
53228f078e
rhizome direct now has a cursor function to iterate through all
...
bundles in the rhizome database in an appropriate priority order
(currently small before big). #9
2012-09-08 20:26:18 +09:30
gardners
3e4b20f5df
rhizome_direct_get_bars() now allows selections to be based on
...
size of associated data in a bundle, so that we can synchronise
small things first. Also preliminary work on making a general
cursor-type wrapper function for get_bars() so that it is easy
for any rhizome direct transport driver to iterate over the
known bundles in a rhizome datastore. #9
2012-09-08 20:00:14 +09:30
gardners
b13c23de6a
rhizome_direct_get_bars() now sets bid_high correctly. #9
2012-09-08 09:35:58 +09:30
gardners
89b09563a3
Wrote function to get a range of BARs from the Rhizome database
...
for use in Rhizome Direct synchronisation requests. #9
2012-09-08 07:55:57 +09:30
gardners
6d725535f9
starting work on the actual synchronisation code for rhizome direct.
2012-09-07 22:53:16 +09:30
gardners
d3f5c6e598
Merged rhizome direct httpd back into main rhizome httpd server.
...
bundles can be imported via HTTP POST multi-part form. #9
2012-09-06 13:21:13 +09:30
gardners
f9a29645a8
prevent double-processing of form when fully received.
...
add actual call to servald rhizome import bundle.
seems to work, though yet to be tested with a genuine bundle. #9
2012-09-06 07:52:12 +09:30
gardners
d342e7b0d2
Added multipart form end processing stage. Now has place holder
...
for calling rhizome import. #9
2012-09-06 07:34:53 +09:30
gardners
edf99e9be3
implemented removal of extraneous CRLF from end of each form field
...
file. #9
2012-09-06 07:15:52 +09:30
gardners
2d9a620352
removed fclose() for form field file from other code paths, so
...
that there is only one path. This is where we will add the 2
byte rewind that our parser requires.
2012-09-06 07:11:09 +09:30
gardners
95f2bc273e
fixed bug with boundary line handling that prevented end of form
...
from being detected. #9
2012-09-06 07:08:10 +09:30
gardners
b51a7b2dbf
more work on parser. Now writes field files, but fails to detect
...
the boundary string at the end of the form. #9
2012-09-06 06:59:26 +09:30
gardners
3dad0798a4
further work on multipart POST form parser. Now does almost
...
everything except actually write manifest and data to files
for importing. #9
2012-09-06 06:29:05 +09:30
gardners
6aca69a54f
Further work on multi-part POST parser. Simple state machine
...
partially implemented that recognises the field elements being
submitted and complains if they are wrong. #9
2012-09-06 06:09:38 +09:30
gardners
f3662c0d04
fixed CRLF handling in multi-part POST parser so that CRLF
...
presence is not forgotten. #9
2012-09-06 05:49:43 +09:30
gardners
9d7507c8b5
Fixed byte munching bug in multi-part post parser. Also removed
...
need for any parser look-ahead, i.e., it is now LALR(1), and well
suited to parsing streaming data. #9
2012-09-06 05:43:29 +09:30
gardners
35ec3bae0d
revamped multi-part form parser to tokenise into lines. This
...
feels like a much simpler and cleaner design. Still more to do. #9
2012-09-06 05:34:25 +09:30
gardners
db79190c81
more work on multi-part POST form data parser. #9
2012-09-06 05:15:25 +09:30
gardners
95f59ab7b0
Fixed handling of multi-part form POST requests (removed HTTP
...
response stub that was causing instakill of such requests).
2012-09-05 16:02:39 +09:30
gardners
ed7edd3865
Added boundarystring field to rhizome_http_request structure.
...
Added call to new (currently stub) function for processing bytes
received from a HTTP POST multipart encoded form. #9
2012-09-01 14:11:23 +09:30
gardners
8170df7447
added extra field to rhizome http request structure and update
...
rhizome direct code to remember the path in a multipart form post
operation, and also the boundary string that will separate the
parts.
2012-08-31 13:15:05 +09:30
gardners
211f75cb53
Added initial parsing of POST requests, extracting content-length
...
and content-type, and complaining if they aren't in the format we
expect. #9
2012-08-31 13:01:29 +09:30
gardners
389ae8e989
added skeleton HTTP request parser for rhizome direct.
...
Doesn't know how to do POST yet, which is needed for all rhizome
direct operations. #9
2012-08-31 13:01:29 +09:30
gardners
9d2aa61792
Refactoring of Rhizome http server code so that we can supply a
...
different request parser, but otherwise share code between
rhizome transfers and rhizome direct. #9
2012-08-31 13:01:28 +09:30
gardners
bde9d1c56a
Rhizome http server now allows specification of client socket callback
...
when starting, so that same server code can be shared for rhizome transfers
and rhizome direct. #9
2012-08-31 13:01:28 +09:30
gardners
2b29893a02
Initial work towards rhizome direct syncrhonisation functions #9
2012-08-31 12:58:37 +09:30