libp2p / libp2p/js-libp2p

circuit-relay-server limits and shades of transient

Open
#2,622 6 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

exploration version-2.0
Dominant language
TypeScript
Stars
2.6k
Forks
546
Avg merge
8h 18m
Merged PRs (30d)
16

Description

- **Version**:
1.8.1

- **Subsystem**:
registrar
circuit relay server, registrar

#### Severity:
Medium or less

#### Description:
Since limits are applied to connection by default, all circuit relay connections will become transient. This means protocol handles that have set notifyOnTransient to `false` will not receive onConnect events for these connections.

But, are non-unlimited circuit relay connections really transient in the same way as the one we get from `identify`?
What is an intuitive way on listen to topology changes:

A. notifyOnTransient set to true, and filter out all transient connections except the relayed one
or
b. notifyOnTransient set to false, but set `applyDefaultLimit: false` on the circuit relay server config?

It feeeels, like `transient` could be replace with `limits` property object

and then every connection would have this property and we can use that to filter out unwanted connections from the protocol handler, for example one that will timeout to soon, or does not allow us to send that much data

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the circuit relay server and registrar handling described in the issue, then trace how connection limits, identify, and notifyOnTransient interact. Compare the applyDefaultLimit options and existing transient behavior before deciding whether the requested connection metadata and topology filtering have a defined scope; done requires an agreed design and corresponding behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.