dataport
SysML v2 like thread-safe port abstractions, distinguishing between in (reader), inout (reader/writer) and out (writer) ports.
It also provides a set of macros to help with creation of ports and port lists.
It supports both std and no_std environments (requires alloc).
License
Licensed with the fair use "NGMC" license, see license file
Contribution
Any contribution intentionally submitted for inclusion in the work by you, shall be licensed with the same "NGMC" license, without any additional terms or conditions.