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

Allow concurrent TCP clients #37

Merged
merged 4 commits into from
May 1, 2024
Merged

Allow concurrent TCP clients #37

merged 4 commits into from
May 1, 2024

Conversation

daniestevez
Copy link
Owner

This adds handling of concurrent clients with --input TCP, by spawning one thread per client and using an additional thread for the TUN device.

The default logging of packets using "{:?}" looks like b"\xaa\xbb",
which is ugly and difficult to use. This logs the packets in hex
format instead using the faster-hex crate for the conversion to hex.

Signed-off-by: Daniel Estévez <[email protected]>
Previously, the CLI application accepted TCP clients one by one.
The data from the second TCP client wasn't processed until the
first TCP client had closed the connection or dvb-gse had closed
the connection due to an error (such as a BBFRAME format error).

This can give problems with clients that make a connection, then
stop using that connection but keep it lingering somehow, and initiate
a second connection and start attempting to transfer data over the
second connection.

Signed-off-by: Daniel Estévez <[email protected]>
This fixes some clippy lints in the tests and updates the CI
workflow to use --all-targets with clippy, error out on doc
failures, and use checkout@v4.

Signed-off-by: Daniel Estévez <[email protected]>
Also update dependencies.

Signed-off-by: Daniel Estévez <[email protected]>
@daniestevez daniestevez merged commit 6fe5aac into main May 1, 2024
5 checks passed
@daniestevez daniestevez deleted the tcp-concurrent branch May 1, 2024 12:06
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.

1 participant