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

feat(dslx): introduce MeasureResolvedAddresses #1388

Merged
merged 6 commits into from
Oct 25, 2023
Merged

Conversation

bassosimone
Copy link
Contributor

@bassosimone bassosimone commented Oct 25, 2023

This diff introduces MeasureResolvedAddresses and other ancillary functions that allow us to express measuring endpoints in a very simple way and with less code than with previous dslx code.

As a result, we can deprecate a bunch of dslx functions (we will actually clean them up at a later time).

While there, make StreamList simpler and more efficient: we can stream w/o creating a goroutine. It suffices to create a sufficiently buffered channel and fill it, and we can do all the work in the current goroutine.

While there, fix a bug where QUICHandshake was mistakenly using the host network rather than the measuring network to create UDP listening sockets, which, well..., generated lots of confusion for me 😅 🤦.

While there, make sure the netemx.MustNewScenario function creates HTTP/3 listeners for DNS servers. Previously, we did not create such listeners, which however is necessary because we very often use DoH3.

While there, make sure we have issues for upcoming work.

Closes ooni/probe#2618.

internal/dslx/fxcore.go Outdated Show resolved Hide resolved
@bassosimone bassosimone changed the title x feat(dslx): introduce MeasureResolvedAddresses Oct 25, 2023
@bassosimone bassosimone marked this pull request as ready for review October 25, 2023 16:59
@bassosimone bassosimone requested a review from hellais as a code owner October 25, 2023 16:59
internal/dslx/fxasync.go Outdated Show resolved Hide resolved
internal/dslx/fxasync.go Outdated Show resolved Hide resolved
internal/dslx/trace.go Outdated Show resolved Hide resolved
internal/dslx/dns.go Outdated Show resolved Hide resolved
internal/dslx/qa_test.go Outdated Show resolved Hide resolved
@bassosimone bassosimone merged commit 5c50be4 into master Oct 25, 2023
8 checks passed
@bassosimone bassosimone deleted the endpointx branch October 25, 2023 17:35
Murphy-OrangeMud pushed a commit to Murphy-OrangeMud/probe-cli that referenced this pull request Feb 13, 2024
This diff introduces MeasureResolvedAddresses and other ancillary
functions that allow us to express measuring endpoints in a very simple
way and with less code than with previous dslx code.

As a result, we can deprecate a bunch of dslx functions (we will
actually clean them up at a later time).

While there, make StreamList simpler and more efficient: we can stream
w/o creating a goroutine. It suffices to create a sufficiently buffered
channel and fill it, and we can do all the work in the current
goroutine.

While there, fix a bug where QUICHandshake was mistakenly using the host
network rather than the measuring network to create UDP listening
sockets, which, well..., generated lots of confusion for me 😅 🤦.

While there, make sure the netemx.MustNewScenario function creates
HTTP/3 listeners for DNS servers. Previously, we did not create such
listeners, which however is necessary because we very often use DoH3.

While there, make sure we have issues for upcoming work.

Closes ooni/probe#2618.
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.

dslx: introduce function to easily measure endpoints
1 participant