Conversation
|
The tests for rkyv includes:
|
PR summary(by Claude):Accept changes to Cargo.toml and enable rkyv serialization / deserialization support on schema types |
|
I've looked into this issue some more after taking a break from it due to
several ICEs encountered during development :-(
Here are my findings so far:
* RaftMetrics `running_state` field uses `Fatal` which implies that several
errors need to implement the rkyv traits which includes the following two
types:
* `rkyv` traits are not implemented for `core::ops::range`. I've created
an issue rkyv/rkyv#404.
* AnyError would require rkyv support (via a feature flag). This is
non-trivial due to it being self-referencial. I think I've solved it but
would like to contact the `rkyv` maintainer to look at a PR once I've got a
complete example working.
* I don't agree with the comment in
#316 (comment)
But AFAIK, only types that need to be persisted on disk need rkyv support.
Errors in openraft are only used for transport.
Does it have to be encoded in the rkyv format for transport?
E.g., for `send_append_entries():
Due to RaftMetrics and Forward-ing requests requiring rkyv serialization
also for errors when used in transport.
Maybe the tracking issue #880
should be updated to mention/include rkyv support for transport and/or
storage and not just storage.
I'll continue to work on a complete example with rkyv used as transport
over tonic gRPC.
…On Fri, Jun 30, 2023 at 12:24 PM 张炎泼 ***@***.***> wrote:
PR summary(by Claude):
Accept changes to Cargo.toml and enable rkyv serialization /
deserialization support on schema types
—
Reply to this email directly, view it on GitHub
<#879 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AVZNEQI775PJGK52LCENT53XN2SMHANCNFSM6AAAAAAZVFHKJU>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Where is IMHO, errors and
Agree. These three pairs of RPC struct also needs rkyv support:
|
Checklist
This change is