Closed stalkopat closed 2 months ago
Attention: Patch coverage is 96.03960%
with 4 lines
in your changes are missing coverage. Please review.
Project coverage is 81.76%. Comparing base (
8c310e7
) to head (dfb962c
). Report is 17 commits behind head on main.
Files | Patch % | Lines |
---|---|---|
ractor/src/serialization.rs | 94.93% | 4 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Added blanket_serde to the docker integration tests Changed the docker integration tests to actually use BytesConvertable (Previous PingPong actor never serialized anything to a remote actor) Fixed a bug where the pg_group integration test wrongly returned success when the underlying actor paniced / errored
When working with types in outside crates it quickly becomes a nuisance to implement various wrapper types just to be able to implement BytesConvertable. This becomes especially annoying once one has to interface with an existing codebase that has the original types deeply ingrained.
This PR adds an optional feature called "blanket_serde" which replaces the current default implementations of BytesConvertable with a blanket implementation utilizing serde and pot.
In the process a handful of bugs were found, where tests and BytesConvertable implementations were inconsistent in their Deserialization / Serialization. For example there were cases of Strings into_bytes() function being used for serialization in combination with::from_bytes being used for deserialization, this didn't cause any errors since the default implementation similarly just called .into_bytes().