Skip to content

Conversation

@bruingineer
Copy link
Contributor

@bruingineer bruingineer commented Oct 3, 2025

* Update receive.rs

* use different read for windows vs non windows os

* remove cfg check since impl is per OS already

* Update receive.rs
* use different read for windows vs non windows os

* remove cfg check since impl is per OS already
* use different read for windows vs non windows os

* remove cfg check since impl is per OS already

* update linux recv to make tests pass

* Update receive.rs
* use thiserror instead of error-chain

refactor to use thiserror instead of error-chain

* remove old error file

* Update ipv6_tests.rs

* Update main.rs

* Update main.rs

* update empty data test

* use different read for windows vs non windows os

* remove cfg check since impl is per OS already

* Update .gitignore

* update linux recv to make tests pass

* Update receive.rs

* use thiserror instead of error-chain

refactor to use thiserror instead of error-chain

* remove old error file

* Update ipv6_tests.rs

* Update main.rs

* Update main.rs

* update empty data test

* update windows recv error

* Update receive.rs
* correct example target in cargo

see https://doc.rust-lang.org/cargo/reference/cargo-targets.html#examples

* Update Cargo.toml

* use thiserror instead of error-chain

refactor to use thiserror instead of error-chain

* remove old error file

* Update ipv6_tests.rs

* Update Cargo.toml

* Update Cargo.toml

* Update main.rs

* Update main.rs

* Update receive.rs

* update empty data test

* update empty data test

* Update receive.rs

Update receive.rs

Update receive.rs

* Revert "Update receive.rs"

This reverts commit 7a9ce39.

* clippy updates

* clippy fixes

* clippy lifetimes

* fix rebase

* more advanced clippy fixes

* Update sacn_parse_pack_error.rs

* clippy fixes

* update tests

* clippy
@bruingineer
Copy link
Contributor Author

bruingineer commented Nov 5, 2025

any comments?
What is the preferred github action test organization? Put all tests (linux/windows/linux ipv4) under one "test" action, or separate per OS?
I think this should be a new version of the library (v0.11.0). @lschmierer @Lan2u @stewartadam

@stewartadam
Copy link
Contributor

@Lan2u happy to help review and merge once added as maintainer if you're still interested - lmk

@lschmierer
Copy link
Contributor

Hi @stewartadam, I would be happy to invite you to the group or transfer ownership of the project.
I am the original author of this lib, but (while I remember it to being fun) frankly had no involvement in years.
While your Github profile, blog and microsoft relations seem solid, I am usually very careful in transferring ownership to unknown accounts (the risk of supply chain attacks is real, even though not huge for users of this lib).
I just sent you a request on LinkedIn, I think a 2nd trust channel gives me enough confidence to add you to the group or project!

Finally, I am very happy that people are interested in this after all :)

@stewartadam
Copy link
Contributor

Appreciate the caution around it - I replied on LinkedIn to confirm my identity.

Copy link
Contributor

@stewartadam stewartadam left a comment

Choose a reason for hiding this comment

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

@bruingineer thanks for your work on this! Looking over the code this looks good, I'm currently travelling so don't have access to my home dev workstation to run a build + test in full -- after doing so when I return later this week I'll give it an approval.

I've requested some minor changes to the Dockerfile (clearing apt cache and adding sysctl -p) that would be ideal, but happy to merge this without and apply those fixes afterwards.

Understandably swapping out error-chain for thiserror is going to lead to some large diffs, but combined with the clippy and whitespace fixes this is quite a large diff -- if it is easy for you to break apart the clippy/formatting changes, I'd be happy to merge the non-functional changes separately from the functional ones as well for clarity in the repo history.

RUN apt-get update && apt-get install iproute2 -y

WORKDIR /work
COPY Cargo.toml Cargo.lock ./
Copy link
Contributor

Choose a reason for hiding this comment

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

Similarly, not blocking merge but if you're interested: I would love to get something like cargo-chef in here so that a single change to the source code doesn't trigger a recompile of every dependency in the docker image - see https://hackmd.io/jgkoQ24YRW6i0xWd73S64A

Happy to merge this and tackle that separately though.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

to do in separate pr

@bruingineer
Copy link
Contributor Author

I hear you about the clips changes large diffs on top of the error changes. I made the mistake of trying to fix some clippy warnings while I fixed the error use in related sections. I had a branch of some clippy fixes, but then merge conflicts started to appear between the code that used this error vs error chain.

I’ll take a look at my commit history to see if I can pull things out. Or if it’s easy to make 2 new branches now.

@stewartadam
Copy link
Contributor

Don't sweat it if it's gonna take you more than a few mins. If you had the commits already split up that's one thing but no need to spend extra time redoing the branches 😊

sysctl -p requires elevation. tests pass without updating configs. we do not require them at this time.
@bruingineer
Copy link
Contributor Author

bruingineer commented Nov 11, 2025

Sounds good. It is ready for review, testing, and merging now. Running the Dockerfile in a GitHub Action will be a separate PR.

Copy link
Contributor

@stewartadam stewartadam left a comment

Choose a reason for hiding this comment

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

Had a chance to look at this in more detail and test it - looks great, thank you for working on this! Looks like the CI configuration is experiencing some issues preventing merge, working with repo owners to get me permissions to fix.

@stewartadam stewartadam merged commit 673b879 into RustLight:main Nov 15, 2025
2 checks passed
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.

3 participants