From 439dfe258ab254702ef31900955f1777cb2e5f76 Mon Sep 17 00:00:00 2001 From: Lukasz Rzasik Date: Tue, 23 Apr 2024 15:19:52 +0200 Subject: [PATCH 1/2] Add Transactions topic --- cdn-proto/schema/messages_capnp.rs | 2 ++ cdn-proto/src/message.rs | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cdn-proto/schema/messages_capnp.rs b/cdn-proto/schema/messages_capnp.rs index 49c1a59..d0dc254 100644 --- a/cdn-proto/schema/messages_capnp.rs +++ b/cdn-proto/schema/messages_capnp.rs @@ -586,6 +586,7 @@ pub mod message { pub enum Topic { Global = 0, Da = 1, + Transactions = 2, } impl ::capnp::introspect::Introspect for Topic { @@ -600,6 +601,7 @@ impl ::core::convert::TryFrom for Topic { match value { 0 => ::core::result::Result::Ok(Self::Global), 1 => ::core::result::Result::Ok(Self::Da), + 2 => ::core::result::Result::Ok(Self::Transactions), n => ::core::result::Result::Err(::capnp::NotInSchema(n)), } } diff --git a/cdn-proto/src/message.rs b/cdn-proto/src/message.rs index 79b2dca..28a5b22 100644 --- a/cdn-proto/src/message.rs +++ b/cdn-proto/src/message.rs @@ -320,6 +320,8 @@ pub enum Topic { /// The DA-specfic topic. Only participants in the DA committee should want to /// be subscribed to this. DA, + /// The topic with transactions. Only soon-to-be-leaders should want to be subscribed to this. + Transactions, } /// We need this because it allows conversions to and from the Cap'n' Proto version @@ -329,6 +331,7 @@ impl From for Topic { match value { messages_capnp::Topic::Global => Self::Global, messages_capnp::Topic::Da => Self::DA, + messages_capnp::Topic::Transactions => Self::Transactions, } } } @@ -340,6 +343,7 @@ impl From for messages_capnp::Topic { match value { Topic::Global => Self::Global, Topic::DA => Self::Da, + Topic::Transactions => Self::Transactions, } } } @@ -352,7 +356,7 @@ impl TryInto for String { match self.as_str() { "DA" => Ok(Topic::DA), "Global" => Ok(Topic::Global), - + "Transactions" => Ok(Topic::Transactions), _ => Err(Error::Parse( "failed to parse topic: did not exist".to_string(), )), @@ -366,6 +370,7 @@ impl Display for Topic { match self { Self::Global => write!(f, "Global"), Self::DA => write!(f, "DA"), + Self::Transactions => write!(f, "Transactions"), } } } From 8b832fcee9cc4de33adb0c4a4483a51528cb39e3 Mon Sep 17 00:00:00 2001 From: Lukasz Rzasik Date: Tue, 23 Apr 2024 17:14:44 +0200 Subject: [PATCH 2/2] Modify the schema and generate the code --- cdn-proto/schema/messages.capnp | 4 ++++ cdn-proto/schema/messages_capnp.rs | 15 ++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/cdn-proto/schema/messages.capnp b/cdn-proto/schema/messages.capnp index 8e3a546..19c234a 100644 --- a/cdn-proto/schema/messages.capnp +++ b/cdn-proto/schema/messages.capnp @@ -37,6 +37,10 @@ enum Topic { # The DA-specfic topic. Only participants in the DA committee should want to # be subscribed to this. da @1; + + # The topic with transactions. Only soon-to-be-leaders should want to be + # subscribed to this. + transactions @2; } # This message is used to authenticate the client to a marshal or a broker diff --git a/cdn-proto/schema/messages_capnp.rs b/cdn-proto/schema/messages_capnp.rs index d0dc254..c1d9290 100644 --- a/cdn-proto/schema/messages_capnp.rs +++ b/cdn-proto/schema/messages_capnp.rs @@ -614,7 +614,7 @@ impl ::capnp::traits::HasTypeId for Topic { const TYPE_ID: u64 = 0xde3a_dca5_3496_8c3eu64; } mod topic { -pub static ENCODED_NODE: [::capnp::Word; 25] = [ +pub static ENCODED_NODE: [::capnp::Word; 30] = [ ::capnp::word(0, 0, 0, 0, 5, 0, 6, 0), ::capnp::word(62, 140, 150, 52, 165, 220, 58, 222), ::capnp::word(15, 0, 0, 0, 2, 0, 0, 0), @@ -624,22 +624,27 @@ pub static ENCODED_NODE: [::capnp::Word; 25] = [ ::capnp::word(21, 0, 0, 0, 170, 0, 0, 0), ::capnp::word(29, 0, 0, 0, 7, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), - ::capnp::word(25, 0, 0, 0, 55, 0, 0, 0), + ::capnp::word(25, 0, 0, 0, 79, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ::capnp::word(109, 101, 115, 115, 97, 103, 101, 115), ::capnp::word(46, 99, 97, 112, 110, 112, 58, 84), ::capnp::word(111, 112, 105, 99, 0, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 1, 0, 1, 0), - ::capnp::word(8, 0, 0, 0, 1, 0, 2, 0), + ::capnp::word(12, 0, 0, 0, 1, 0, 2, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), - ::capnp::word(17, 0, 0, 0, 58, 0, 0, 0), + ::capnp::word(29, 0, 0, 0, 58, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ::capnp::word(1, 0, 0, 0, 0, 0, 0, 0), - ::capnp::word(9, 0, 0, 0, 26, 0, 0, 0), + ::capnp::word(21, 0, 0, 0, 26, 0, 0, 0), + ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), + ::capnp::word(2, 0, 0, 0, 0, 0, 0, 0), + ::capnp::word(13, 0, 0, 0, 106, 0, 0, 0), ::capnp::word(0, 0, 0, 0, 0, 0, 0, 0), ::capnp::word(103, 108, 111, 98, 97, 108, 0, 0), ::capnp::word(100, 97, 0, 0, 0, 0, 0, 0), + ::capnp::word(116, 114, 97, 110, 115, 97, 99, 116), + ::capnp::word(105, 111, 110, 115, 0, 0, 0, 0), ]; pub fn get_annotation_types(child_index: Option, index: u32) -> ::capnp::introspect::Type { panic!("invalid annotation indices ({:?}, {}) ", child_index, index)