Skip to content

Instantly share code, notes, and snippets.

View Frando's full-sized avatar
🏠

Franz Heinzmann Frando

🏠
View GitHub Profile
@Frando
Frando / STDOUT
Last active June 29, 2024 17:11
iroh-net local accept&connect loop
round 0: bind 3ms | addr 370ms | conn 194ms
round 1: bind 8ms | addr 348ms | conn 8ms
round 2: bind 5ms | addr 342ms | conn 8ms
round 3: bind 7ms | addr 360ms | conn 5ms
round 4: bind 4ms | addr 349ms | conn 8ms
round 5: bind 15ms | addr 356ms | conn 3ms
round 6: bind 5ms | addr 365ms | conn 8ms
round 7: bind 13ms | addr 340ms | conn 8ms
round 8: bind 11ms | addr 346ms | conn 8ms
round 9: bind 6ms | addr 336ms | conn 201ms
@Frando
Frando / INFO.md
Last active July 12, 2024 09:05
Rust channel benchmark with many tasks
struct Item;
struct Foo { recv_wakers: VecDeque<GuardedWaker> }
impl Foo {
fn wake_recv(&mut self) {
while let Some(waker) = self.recv_wakers.pop_front() {
if waker.wake_if_alive() {
break;
}
}
}
use irpc::{
channel::{mpsc, oneshot},
rpc_requests,
};
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
struct PutRequest {
key: String,
value: String,
@Frando
Frando / lib.rs
Last active October 28, 2025 15:38
WatchableMap
use std::{
collections::BTreeMap,
sync::{Arc, RwLock, RwLockReadGuard, Weak},
};
use n0_future::{Either, Stream, TryStreamExt};
use tokio::sync::broadcast::{self, error::RecvError};
use tokio_stream::{StreamExt, wrappers::BroadcastStream};
/// Events for [`MapWatcher`].
@Frando
Frando / Cargo.toml
Last active February 6, 2026 12:47
iroh 0.95 to 0.96 connectivity test
[package]
name = "foo"
version = "0.1.0"
edition = "2024"
[dependencies]
tokio = { version = "1.49.0", features = ["full"] }
tracing = "0.1.44"
tracing-subscriber = "0.3.22"
iroh = "0.96"
#!/usr/bin/env bash
# Debug relay transfer performance across different relay servers.
#
# Runs a provide+fetch pair for each relay, with full trace logging.
# Results go into ./logs/relay-debug-<timestamp>/.
set -euo pipefail
RELAYS=(
"euc1-1.relay.n0.iroh-canary.iroh.link"
@Frando
Frando / output.txt
Last active April 28, 2026 09:26
patchbay loss test
running 1 test
unimpaired
dev1 -> dev2: 1000 of 1000 (100%)
dev2 -> dev1: 1000 of 1000 (100%)
impaired: dev1 on Both with Manual(LinkLimits { rate_kbit: 0, loss_pct: 50.0, latency_ms: 0, jitter_ms: 0, reorder_pct: 0.0, duplicate_pct: 0.0, corrupt_pct: 0.0 })
dev1 -> dev2: 521 of 1000 (52.100002%)
dev2 -> dev1: 500 of 1000 (50%)
impaired: dev1 on Egress with Manual(LinkLimits { rate_kbit: 0, loss_pct: 50.0, latency_ms: 0, jitter_ms: 0, reorder_pct: 0.0, duplicate_pct: 0.0, corrupt_pct: 0.0 })
dev1 -> dev2: 526 of 1000 (52.600002%)