Skip to content

Reliable clients#199

Merged
kalabukdima merged 6 commits into
mainfrom
kalabukdima/reliable-clients
Jun 3, 2026
Merged

Reliable clients#199
kalabukdima merged 6 commits into
mainfrom
kalabukdima/reliable-clients

Conversation

@kalabukdima

Copy link
Copy Markdown
Collaborator

Instead of capturing dial attempts and triggering Kademlia lookups (taking multiple seconds), make the clients (portal, pings collector, etc) keep the connections to the workers always open. This way the substream is either opened quickly or fails to open allowing the portal to pick another worker.
This saves query time and also makes the transport more robust by avoiding spamming extra kademlia lookups under the load.

@kalabukdima kalabukdima requested a review from denisbsu March 11, 2026 12:27
Comment thread crates/transport/src/behaviour/base.rs
Comment thread crates/transport/src/behaviour/base.rs
- stop intercepting dial attempts by the stream behaviour
- immediately reject stream if a connection can't be established
- run lookups in the background to establish connections with all
  workers
@kalabukdima kalabukdima force-pushed the kalabukdima/reliable-clients branch from 724e5db to 038dd24 Compare June 3, 2026 08:46
@kalabukdima kalabukdima merged commit 3585405 into main Jun 3, 2026
2 of 3 checks passed
@kalabukdima kalabukdima deleted the kalabukdima/reliable-clients branch June 3, 2026 09:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants