- Update tokio-tungstenite to latest
- Fix the dependencies
- Move the top-level documentation into a README.md that we re-include
in the source code
- Re-order the imports using the nightly formater
- Audit the unwraps and remove them
- Fix the UTF-16 string length computation
This is just some basic tests, but hopefully it will grow to be more
friendly and cover more behaviours.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Adds
- [2.2.2.7 Server Core Capability Request (DR_CORE_CAPABILITY_REQ)](702789c3-b924-4bc2-9280-3221bc7d6797)
- [2.2.2.8 Client Core Capability Response (DR_CORE_CAPABILITY_RSP)](f513bf87-cca0-488a-ac5c-18cf18f4a7e1)
This also refactors rdpdr code (inspired by @pacmancoder's design) such that all PDUs
are packed into an `RdpdrPdu` enum, and only that enum is `PduEncode`/`PduDecode`.
Base all library errors on `ironrdp_error::Error`, a lightweight and
`no_std`-compatible generic `Error` type.
A custom consumer-defined type (such as `PduErrorKind`) for
domain-specific details is wrapped by this type.
> Make the root of the workspace a virtual manifest. It might
> be tempting to put the main crate into the root, but that
> pollutes the root with src/, requires passing --workspace to
> every Cargo command, and adds an exception to an otherwise
> consistent structure.
> Don’t succumb to the temptation to strip common prefix
> from folder names. If each crate is named exactly as the
> folder it lives in, navigation and renames become easier.
> Cargo.tomls of reverse dependencies mention both the folder
> and the crate name, it’s useful when they are exactly the
> same.
Source:
https://matklad.github.io/2021/08/22/large-rust-workspaces.html#Smaller-Tips