| Age | Commit message (Collapse) | Author |
|
|
|
The GET URL syntax was changed to agree with clean URL conventions.
The client can now specify a list of c-indexes to skip. It can also request a
particular c-index, these requests can be pipelined of course. This gives
the client the ability to list all the c-blocks it wants or doesn't want.
It now returns the X-Block-N headers before the c-blocks so that the client
can act in response to the data as it's being received. However this adds a
a delay between the generation of the X-Block-N headers and the reading
of the files in which they can disappear. It also uses potentially unbounded
memory, but we expect that the erasure coding scheme will limit the
number of possible c-blocks to 255.
P.S. Actually it always used potentially unbounded memory because the
footers were buffered by libmicrohttpd anyway.
|
|
The PUT URL was changed to agree with clean URL conventions. You can
now strip off the query portion and use it as a GET URL to retrieve
the resource. There was also a missing existence check that a client
would use to save bandwith by not having to upload a c-block that the
storage node was already storing.
|
|
Cleaned up some of the code. There are still some unhandled EINTRs in places
where I think they are unliely to occur, TODO's added. Tested with curl and
works fine in both normal and chunked modes.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is the first useful bit of code so far for the storage server.
Curl seems to think something is wrong with the chunked encoding
though I'm pretty sure I'm using libmicrohttpd correctly.
|