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

Add guidance to server developers #35

Closed
rmarx opened this issue Jan 18, 2020 · 1 comment · Fixed by #279
Closed

Add guidance to server developers #35

rmarx opened this issue Jan 18, 2020 · 1 comment · Fixed by #279
Labels
future-versions issue will be tackled but not for the current iteration

Comments

@rmarx
Copy link
Contributor

rmarx commented Jan 18, 2020

@marten-seemann asked how to best approach logging from a server's perspective, given that things like version negotiation and stateless retry are not inherently tied to a single connection. We should add some informative guidance on how to best approach this to the spec, depending on how much state you're willing to keep around

Some options:

  1. low state: keep a separate qlog file for the entire server. This logs vneg, retry, etc.. Then, when a connection is truly accepted, start a new .qlog for the individual connection, containing all events thereafter. The server.qlog can then also contain an event signalling the acceptance of a new connection for later cross-linking between the files.
  2. low state: keep a single huge qlog file for everything, using the "group_id" field to allow later de-multiplexing into separate connections (I believe quant does this atm)
  3. stateful: if you already track vneg/retry and link them up with the final connection, you can output them in the per-connection qlog file as well

Maybe also shortly talk about some of the trade-offs in each option. Also talk about how to approach server-level events like server_listening and packet_dropped in separate scenarios.

@rmarx rmarx added current-version future-versions issue will be tackled but not for the current iteration and removed current-version labels Oct 31, 2020
@LPardue
Copy link
Member

LPardue commented Sep 7, 2022

I lean on the side of minimally and clearly identifying the challenges and maybe signpost some features and leave it up to implementers to figure out how to address this. They can always push back later in the specification lifecycle is something is deemed missing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
future-versions issue will be tackled but not for the current iteration
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants