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.
Description
This PR introduces, as a PoC, a TCP proxy.
The TCP proxy allows building disruptors that work on top of TCP connections, and thought to be a base for building protocol-specific disruptors for those protocols that do not have a server implementation in go, like databases and message queues.
The TCP proxy allows this by defining the following interface:
Protocol-specific disruptors can be built by implementing
Handlers
that decode the data sent in the buffers, to the extent the disruptor needs.The
ConnMeta
struct contains information about the connection, such as the downstream and upstream address.Checklist:
make lint
) and all checks pass.make test
) and all tests pass.make e2e-xxx
foragent
,disruptors
,kubernetes
orcluster
related changes)