Skip to content

echo: add echo server#11

Open
Spiffyk wants to merge 10 commits into
ns1labs:mainfrom
Spiffyk:echo
Open

echo: add echo server#11
Spiffyk wants to merge 10 commits into
ns1labs:mainfrom
Spiffyk:echo

Conversation

@Spiffyk

@Spiffyk Spiffyk commented Jul 31, 2023

Copy link
Copy Markdown

This commit adds an echo server that reflects queries back at the sender. May be used for determining the baseline performance of QUIC (or, at least, of the quic-go implementation in combination with the client's QUIC implementation).

@fcelda fcelda left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the contribution. Please, do you mind checking the comments below? I don't insist on all changes.

Comment thread go.sum Outdated
Comment thread cmd/echo/main.go Outdated
Comment thread cmd/echo/main.go Outdated
This commit adds an echo server that reflects queries back at the
sender. May be used for determining the baseline performance of QUIC
(or, at least, of the `quic-go` implementation in combination with the
client's QUIC implementation).
ReadAll is apparently SLOW for our purposes. Reading into a fixed-size
buffer seems to be much better.
This allows developers to analyze the traffic using Wireshark, even when
it is encrypted.
@Spiffyk

Spiffyk commented Dec 7, 2023

Copy link
Copy Markdown
Author

I have updated quic-go, which now supports 0-RTT (supported by the in-development version of DNS Shotgun with QUIC support - I use this echo server to test that). It now however requires Go >=1.20 - is that okay?

Another improvement is the addition of the -keylog string flag that makes the server (both echo and proxy) write TLS keys into the specified file, which is useful for Wireshark analysis.

@Spiffyk
Spiffyk requested a review from fcelda December 7, 2023 16:08
For testing purposes, a -reset option that randomly resets streams.
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