File: hellnet/protocols/HTTP [Diff]
-- a/hellnet/protocols/HTTP++ b/hellnet/protocols/HTTP
@@ -4,6 +4,7 @@
h2. Query types
|_. Query |_. Path |_. Static/dynamic |_. Description |
| GET | /chunks/([0-9a-f]+) | static | Chunk [[/hellnet/tech/chunk|Chunk]] with hash $1 |
| GET | /meta/([^/]+)/([^/]+) | static | List of chunks which are inserted with [[/hellnet/tech/metachunks|meta]] $1:$2 |
-- a/hellnet/status++ b/hellnet/status
@@ -4,5 +4,5 @@
*Hellspawn* -- Hellnet daemon in Qt/C++. Supports data inserting, retrieving, [[protocols/transfer|message]] parsing and even some network connectivity. Doesn't work out of localhost, development is stopped in favour of hspawn.
*[[hspawn|Hspawn]]* -- Hellnet daemon in Haskell. Currently supports data inserting and retrieval (optionally [[crypto/symmetric|encrypted]]), [[/hellnet/tech/metachunks|metachunks]] with manual server discovery
-- /dev/null++ b/hellnet/tech/metachunks
@@ -1 +1,6 @@
Metachunks are special files, which contain hashes of [[chunk]]s, inserted under specific category. For example, @hell-talk@ uses metachunk "talk:0" to exchange phrases between nodes.
Metachunks are stored in meta/<value>/<key> files and contain concatenated hashes.
-- a/hellnet/tech/recursive-filelinks++ b/hellnet/tech/recursive-filelinks
@@ -1,8 +1,8 @@
h1. Extent-based Recursive filelinks
Filelink is a list of hashes of chunks of file. As Hellnet has limited chunk size and filelinks have to be files too, and we can't use filelinks on filelinks, Hellnet has extent-based filelinks.
If chunk size is 256, 256 kb, we can fit 4096 hashes in it. That's 1.07 Gb of data. If file needs more than 4095 hashes to describe it, we make another filelink chunk, fill it with the rest and append hash of that chunk to first one. Can be recursively repeated.
fn1. Currently 256 kbytes