This repository has been archived by the owner on Mar 6, 2020. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is yak shaving as part of ooni/probe-engine#2. Specifically, this diff refactors the code such that
netx/x/{logger,porcelain}
does not depend onnetx/internal
.Each individual commit contains its own short rationale.
On a broader level, this diff is related to discussions I had with @FedericoCeratto concerning unifying
netx
andprobe-engine
to reduce complexity. I have determined that this won't happen because:I am using
netx
also injafar
and it makes sense therefore to keepnetx
independentthe
netx
API described inDESIGN.md
is not poised to change because it is based on the standard library API, hence we should keep it stableThus, I can see how occasionally we'll make the data model richer, or apply fixes, but I see low coupling between the
DESIGN.md
API andprobe-engine
.OTOH, the coupling is very high for two packages in
x
:porcelain
andlogger
. So, the right approach is to fork these two packages inprobe-engine
and develop them in there. This PR is precisely aiming at making sure that we can fork them. I also considered deleting them but, since they are clearly marked as experimental, it's also fine to keep them.