epiphany
94dc672a15
geode, fud: replace smol::fs::File with std::fs::File, add Chunk struct
2026-01-01 20:20:25 +00:00
x
9785777642
chore: Update copyright license year
...
Happy 2026!
2026-01-01 11:40:45 +00:00
jkds
cc571d4851
remove all () from the ends of log targets: foo::bar() => foo::bar
2025-12-30 12:09:29 +01:00
oars
d85cf80dbf
replace log imports with tracing everywhere
2025-11-07 10:15:36 +03:00
epiphany
e349827b3b
geode: fix insert_metadata() info log
2025-09-15 14:27:27 +02:00
epiphany
6e9e1f3084
fud, geode: track downloaded bytes and download speed, add eta, improve scraps
2025-07-30 17:10:23 +02:00
epiphany
ba84e53254
fud, fu, geode: allow downloading a subset of files from a directory
...
This also introduces "scraps" in the sled database, which are chunks that contains both data the user wants and data the user does not want. Those chunks happen because files (in fud directories) are not aligned with chunks, so they can contain the data of multiple files.
After you download a chunk, fud checks that all bytes of it was written to the filesystem, if not that chunk will be saved as a scrap in sled. It's useful for a few things:
1. You don't download that chunk again later
2. You can still verify integrity, even if you did not write the full chunk into your downloaded files
3. You can seed that chunk (once partial seeding is implemented, which is currently not the case)
They are automatically removed from sled once they are not needed anymore (the fud resource is removed, or the chunk was rewritten to the filesystem, and this time it was fully written).
Those scraps are a concept in fud, not in geode.
2025-07-17 10:06:01 +03:00
skoupidi
99fad7773c
src|tests|example: chore clippy
2025-06-28 17:13:23 +03:00
epiphany
c05a5ce085
geode: handle read_chunk() error in verify_chunks()
2025-06-27 18:47:45 +02:00
epiphany
6be822c35b
fud, geode: add support for directories, update get default path, improve chunk verification
2025-06-14 10:17:05 +02:00
epiphany
7f4d168884
fud: add lib target, cleanups
2025-05-25 15:10:40 +02:00
epiphany
55e08ae605
fud, geode: chunks are written and fetched from the full file
2025-05-18 19:14:38 +02:00
darkfi
ff112dd6c2
fud: add resource.rs, add fu watch, add fu rm, merge announcing task and pruning task
2025-04-11 16:03:17 +00:00
darkfi
8244870639
fud, fu: subscribe rpc method, add FudEvent::DownloadStarted and FudEvent::DownloadError, get improvements
2025-04-11 16:03:17 +00:00
darkfi
8fac16466d
geode: replace hex with bs58 in comments
2025-04-11 16:03:17 +00:00
darkfi
f630e1cd7c
fud: remove chunk seeders, change file hash, replace hex with bs58
2025-04-11 16:03:17 +00:00
darkfi
aae5651501
fud, fu: autoseed, get rpc subscriber, progress bar, bug fixes
2025-04-11 16:03:17 +00:00
darkfi
058faffa75
fud: add dht lookups & improvements
2025-04-11 16:03:17 +00:00
darkfi
e219954da2
fud, fu, geode: fixes & improvements
2025-04-11 16:03:17 +00:00
parazyd
604f443fd1
chore: Update license header year
2025-01-24 10:36:02 +01:00
skoupidi
6a39547118
chore: clippy too_long_first_doc_paragraph fixed almost everywhere
2024-08-29 17:10:13 +03:00
nighthawk24
c25df52c64
fud | lilith | research/dhtd/ | geode | tests : Refactor to return match statements
2024-02-23 15:29:25 +02:00
parazyd
0e6f51e895
chore: Update copyright year in license headers
2024-01-16 13:07:22 +01:00
parazyd
a02e3475f6
lib: Remove async-std dependency.
2023-08-22 19:55:37 +02:00
parazyd
0ba9740b84
chore: Clippy lints
2023-08-17 12:03:11 +02:00
parazyd
688da857a8
fud: Implement background tasks for fetching file metadata and file chunks.
2023-07-31 15:50:50 +02:00
parazyd
37929b8545
geode: Return GeodeFileNotFound if file is not found.
2023-07-31 15:50:50 +02:00
parazyd
63a408c777
fud/proto: Implement chunk request handler.
2023-07-29 12:57:57 +02:00
parazyd
acc9453cfa
fud: Fresh impl with routing
2023-07-29 11:46:24 +02:00
parazyd
70321d6aa9
geode: Implement basic chunk-based interface.
2023-07-29 11:46:24 +02:00