Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ALPN is the process, not the protocol #54

Open
thkoch2001 opened this issue Feb 7, 2025 · 2 comments
Open

ALPN is the process, not the protocol #54

thkoch2001 opened this issue Feb 7, 2025 · 2 comments

Comments

@thkoch2001
Copy link

https://github.com/n0-computer/iroh-blobs/blob/main/src/protocol.rs#L353

const ALPN should be renamed for example to ALPN_ID or PROTOCOL_ID.

ALPN is the negotiation, the process of agreeing on a protocol, not the protocol.

I think it is important to get names right and wrong naming is a usability issue. Wrong names hinder learning and communication.

See also n0-computer/iroh.computer#286

@n0bot n0bot bot added this to iroh Feb 7, 2025
@rklaehn
Copy link
Collaborator

rklaehn commented Feb 7, 2025

Currently we use just ALPN in all iroh protocol repositories. This is similar to what is done in quinn examples and many libraries using quinn or QUIC in general. See for example https://github.com/hyperium/h3/blob/master/examples/client.rs#L11 .

Strictly speaking you are correct that the bytestring const is better named as an ALPN_ID, but I am not sure if this is really confusing for anybody. In any case, if we change it we will change it at the same time in all our protocol repos.

@thkoch2001
Copy link
Author

thkoch2001 commented Feb 7, 2025

I've watched "A tour of iroh" (again) this morning which talks about ALPNs and now I watch "Unlimited, free file transfer, no account required" where @b5 spells ALPN as "Application Level Protocol Name".

At least me I was confused this morning and went all the way to the RFC to find out what these ALPNs are.

The confusion is one thing. The other thing is that I have a hard time building up trust in a project when the authors seem to be sloppy with details.

I understand that you still have backwards incompatible changes in your roadmap thus I thought you might consider changing this too before a stable release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

No branches or pull requests

2 participants