rrauch
/// Even when using direct I/O, `fsync` is still necessary, as it ensures the device itself has flushed any internal caches.
async fn sync(&self) {
let (fut, fut_ctl) = SignalFuture::new();
self.sender.send(Request::Sync { res: fut_ctl }).unwrap();
fut.await
}
Full code here:https://github.com/wilsonzlin/blobd/blob/master/libblobd-dir...
At one point I'm going to use Iroh (or something heavily inspired by it) as the transport layer for a project I am working on. Can't wait.
I do have one question though while I have your attention: what was the reason you decided to use the Ed25519 public key as the NodeId directly? I mean, why not derive the NodeId from the public key instead (by hashing it for example)? Then the protocol itself would not be so tightly bound to Ed25519. A little indirection here would have been useful imho.
It's the one thing I have been wondering about Irohs design that I haven't really been able to answer by myself.
Anyways, great work! Keep it up!
Besides the normal support channels, try reaching out on their subreddit and also post in the customer forum - to make this more public.
If they don't want your business, fine. But giving you only a couple of weeks to move 12 PB is unreasonable.