Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace our serde/MsgPack encoding of enum LogMsg with protobuf #7988

Open
emilk opened this issue Nov 4, 2024 · 0 comments
Open

Replace our serde/MsgPack encoding of enum LogMsg with protobuf #7988

emilk opened this issue Nov 4, 2024 · 0 comments
Labels
dataplatform Rerun Data Platform integration 🚜 refactor Change the code, not the functionality

Comments

@emilk
Copy link
Member

emilk commented Nov 4, 2024

We want to replace this:

#[must_use]
#[derive(Clone, Debug, PartialEq)] // `PartialEq` used for tests in another crate
#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
#[allow(clippy::large_enum_variant)]
pub enum LogMsg {
/// A new recording has begun.
///
/// Should usually be the first message sent.
SetStoreInfo(SetStoreInfo),
/// Log an entity using an [`ArrowMsg`].
//
// TODO(#6574): the store ID should be in the metadata here so we can remove the layer on top
ArrowMsg(StoreId, ArrowMsg),
/// Send after all messages in a blueprint to signal that the blueprint is complete.
///
/// This is so that the viewer can wait with activating the blueprint until it is
/// fully transmitted. Showing a half-transmitted blueprint can cause confusion,
/// and also lead to problems with space-view heuristics.
BlueprintActivationCommand(BlueprintActivationCommand),
}

with something protobuf, ideally inspired/overlapping with our gRPC datatypes.

That means our .rrd files become just a bunch of protobuffs concatted together, and will be very similar (or same) as the gRPC messages we send to/from our data platform

@emilk emilk added dataplatform Rerun Data Platform integration 🚜 refactor Change the code, not the functionality labels Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dataplatform Rerun Data Platform integration 🚜 refactor Change the code, not the functionality
Projects
None yet
Development

No branches or pull requests

1 participant