Browse Source

Add kUnknown enum (#224)

Dawid Dziurla 6 years ago
parent
commit
431be9e847

+ 2 - 2
protocol/files.rs

@@ -1,10 +1,10 @@
 // Autogenerated by build.sh
 
-pub const FILES: &'static [(&'static str, u32)] = &[
+pub const FILES : &'static [(&'static str, u32)] = &[
     ("proto/authentication.proto", 2098196376),
     ("proto/keyexchange.proto", 451735664),
     ("proto/mercury.proto", 709993906),
     ("proto/metadata.proto", 2474472423),
     ("proto/pubsub.proto", 2686584829),
-    ("proto/spirc.proto", 3695752338),
+    ("proto/spirc.proto", 2406852191),
 ];

+ 1 - 0
protocol/proto/spirc.proto

@@ -76,6 +76,7 @@ enum CapabilityType {
     kSupportsRename = 0xb;
     kHidden = 0xc;
     kSupportsPlaylistV2 = 0xd;
+    kUnknown = 0xe;
 }
 
 message Goodbye {

File diff suppressed because it is too large
+ 174 - 229
protocol/src/authentication.rs


File diff suppressed because it is too large
+ 157 - 232
protocol/src/keyexchange.rs


+ 237 - 199
protocol/src/mercury.rs

@@ -84,11 +84,6 @@ impl MercuryMultiGetRequest {
 
 impl ::protobuf::Message for MercuryMultiGetRequest {
     fn is_initialized(&self) -> bool {
-        for v in &self.request {
-            if !v.is_initialized() {
-                return false;
-            }
-        };
         true
     }
 
@@ -267,11 +262,6 @@ impl MercuryMultiGetReply {
 
 impl ::protobuf::Message for MercuryMultiGetReply {
     fn is_initialized(&self) -> bool {
-        for v in &self.reply {
-            if !v.is_initialized() {
-                return false;
-            }
-        };
         true
     }
 
@@ -437,7 +427,7 @@ impl MercuryRequest {
     pub fn mut_uri(&mut self) -> &mut ::std::string::String {
         if self.uri.is_none() {
             self.uri.set_default();
-        }
+        };
         self.uri.as_mut().unwrap()
     }
 
@@ -481,7 +471,7 @@ impl MercuryRequest {
     pub fn mut_content_type(&mut self) -> &mut ::std::string::String {
         if self.content_type.is_none() {
             self.content_type.set_default();
-        }
+        };
         self.content_type.as_mut().unwrap()
     }
 
@@ -525,7 +515,7 @@ impl MercuryRequest {
     pub fn mut_body(&mut self) -> &mut ::std::vec::Vec<u8> {
         if self.body.is_none() {
             self.body.set_default();
-        }
+        };
         self.body.as_mut().unwrap()
     }
 
@@ -569,7 +559,7 @@ impl MercuryRequest {
     pub fn mut_etag(&mut self) -> &mut ::std::vec::Vec<u8> {
         if self.etag.is_none() {
             self.etag.set_default();
-        }
+        };
         self.etag.as_mut().unwrap()
     }
 
@@ -627,36 +617,36 @@ impl ::protobuf::Message for MercuryRequest {
     #[allow(unused_variables)]
     fn compute_size(&self) -> u32 {
         let mut my_size = 0;
-        if let Some(ref v) = self.uri.as_ref() {
+        if let Some(v) = self.uri.as_ref() {
             my_size += ::protobuf::rt::string_size(1, &v);
-        }
-        if let Some(ref v) = self.content_type.as_ref() {
+        };
+        if let Some(v) = self.content_type.as_ref() {
             my_size += ::protobuf::rt::string_size(2, &v);
-        }
-        if let Some(ref v) = self.body.as_ref() {
+        };
+        if let Some(v) = self.body.as_ref() {
             my_size += ::protobuf::rt::bytes_size(3, &v);
-        }
-        if let Some(ref v) = self.etag.as_ref() {
+        };
+        if let Some(v) = self.etag.as_ref() {
             my_size += ::protobuf::rt::bytes_size(4, &v);
-        }
+        };
         my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
         self.cached_size.set(my_size);
         my_size
     }
 
     fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
-        if let Some(ref v) = self.uri.as_ref() {
+        if let Some(v) = self.uri.as_ref() {
             os.write_string(1, &v)?;
-        }
-        if let Some(ref v) = self.content_type.as_ref() {
+        };
+        if let Some(v) = self.content_type.as_ref() {
             os.write_string(2, &v)?;
-        }
-        if let Some(ref v) = self.body.as_ref() {
+        };
+        if let Some(v) = self.body.as_ref() {
             os.write_bytes(3, &v)?;
-        }
-        if let Some(ref v) = self.etag.as_ref() {
+        };
+        if let Some(v) = self.etag.as_ref() {
             os.write_bytes(4, &v)?;
-        }
+        };
         os.write_unknown_fields(self.get_unknown_fields())?;
         ::std::result::Result::Ok(())
     }
@@ -833,7 +823,7 @@ impl MercuryReply {
     pub fn mut_status_message(&mut self) -> &mut ::std::string::String {
         if self.status_message.is_none() {
             self.status_message.set_default();
-        }
+        };
         self.status_message.as_mut().unwrap()
     }
 
@@ -931,7 +921,7 @@ impl MercuryReply {
     pub fn mut_etag(&mut self) -> &mut ::std::vec::Vec<u8> {
         if self.etag.is_none() {
             self.etag.set_default();
-        }
+        };
         self.etag.as_mut().unwrap()
     }
 
@@ -975,7 +965,7 @@ impl MercuryReply {
     pub fn mut_content_type(&mut self) -> &mut ::std::string::String {
         if self.content_type.is_none() {
             self.content_type.set_default();
-        }
+        };
         self.content_type.as_mut().unwrap()
     }
 
@@ -1019,7 +1009,7 @@ impl MercuryReply {
     pub fn mut_body(&mut self) -> &mut ::std::vec::Vec<u8> {
         if self.body.is_none() {
             self.body.set_default();
-        }
+        };
         self.body.as_mut().unwrap()
     }
 
@@ -1056,7 +1046,7 @@ impl ::protobuf::Message for MercuryReply {
                 1 => {
                     if wire_type != ::protobuf::wire_format::WireTypeVarint {
                         return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
-                    }
+                    };
                     let tmp = is.read_sint32()?;
                     self.status_code = ::std::option::Option::Some(tmp);
                 },
@@ -1066,14 +1056,14 @@ impl ::protobuf::Message for MercuryReply {
                 3 => {
                     if wire_type != ::protobuf::wire_format::WireTypeVarint {
                         return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
-                    }
+                    };
                     let tmp = is.read_enum()?;
                     self.cache_policy = ::std::option::Option::Some(tmp);
                 },
                 4 => {
                     if wire_type != ::protobuf::wire_format::WireTypeVarint {
                         return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
-                    }
+                    };
                     let tmp = is.read_sint32()?;
                     self.ttl = ::std::option::Option::Some(tmp);
                 },
@@ -1100,25 +1090,25 @@ impl ::protobuf::Message for MercuryReply {
         let mut my_size = 0;
         if let Some(v) = self.status_code {
             my_size += ::protobuf::rt::value_varint_zigzag_size(1, v);
-        }
-        if let Some(ref v) = self.status_message.as_ref() {
+        };
+        if let Some(v) = self.status_message.as_ref() {
             my_size += ::protobuf::rt::string_size(2, &v);
-        }
+        };
         if let Some(v) = self.cache_policy {
             my_size += ::protobuf::rt::enum_size(3, v);
-        }
+        };
         if let Some(v) = self.ttl {
             my_size += ::protobuf::rt::value_varint_zigzag_size(4, v);
-        }
-        if let Some(ref v) = self.etag.as_ref() {
+        };
+        if let Some(v) = self.etag.as_ref() {
             my_size += ::protobuf::rt::bytes_size(5, &v);
-        }
-        if let Some(ref v) = self.content_type.as_ref() {
+        };
+        if let Some(v) = self.content_type.as_ref() {
             my_size += ::protobuf::rt::string_size(6, &v);
-        }
-        if let Some(ref v) = self.body.as_ref() {
+        };
+        if let Some(v) = self.body.as_ref() {
             my_size += ::protobuf::rt::bytes_size(7, &v);
-        }
+        };
         my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
         self.cached_size.set(my_size);
         my_size
@@ -1127,25 +1117,25 @@ impl ::protobuf::Message for MercuryReply {
     fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
         if let Some(v) = self.status_code {
             os.write_sint32(1, v)?;
-        }
-        if let Some(ref v) = self.status_message.as_ref() {
+        };
+        if let Some(v) = self.status_message.as_ref() {
             os.write_string(2, &v)?;
-        }
+        };
         if let Some(v) = self.cache_policy {
             os.write_enum(3, v.value())?;
-        }
+        };
         if let Some(v) = self.ttl {
             os.write_sint32(4, v)?;
-        }
-        if let Some(ref v) = self.etag.as_ref() {
+        };
+        if let Some(v) = self.etag.as_ref() {
             os.write_bytes(5, &v)?;
-        }
-        if let Some(ref v) = self.content_type.as_ref() {
+        };
+        if let Some(v) = self.content_type.as_ref() {
             os.write_string(6, &v)?;
-        }
-        if let Some(ref v) = self.body.as_ref() {
+        };
+        if let Some(v) = self.body.as_ref() {
             os.write_bytes(7, &v)?;
-        }
+        };
         os.write_unknown_fields(self.get_unknown_fields())?;
         ::std::result::Result::Ok(())
     }
@@ -1290,7 +1280,7 @@ impl ::protobuf::ProtobufEnum for MercuryReply_CachePolicy {
         values
     }
 
-    fn enum_descriptor_static(_: ::std::option::Option<MercuryReply_CachePolicy>) -> &'static ::protobuf::reflect::EnumDescriptor {
+    fn enum_descriptor_static(_: Option<MercuryReply_CachePolicy>) -> &'static ::protobuf::reflect::EnumDescriptor {
         static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy {
             lock: ::protobuf::lazy::ONCE_INIT,
             ptr: 0 as *const ::protobuf::reflect::EnumDescriptor,
@@ -1363,7 +1353,7 @@ impl Header {
     pub fn mut_uri(&mut self) -> &mut ::std::string::String {
         if self.uri.is_none() {
             self.uri.set_default();
-        }
+        };
         self.uri.as_mut().unwrap()
     }
 
@@ -1407,7 +1397,7 @@ impl Header {
     pub fn mut_content_type(&mut self) -> &mut ::std::string::String {
         if self.content_type.is_none() {
             self.content_type.set_default();
-        }
+        };
         self.content_type.as_mut().unwrap()
     }
 
@@ -1451,7 +1441,7 @@ impl Header {
     pub fn mut_method(&mut self) -> &mut ::std::string::String {
         if self.method.is_none() {
             self.method.set_default();
-        }
+        };
         self.method.as_mut().unwrap()
     }
 
@@ -1538,11 +1528,6 @@ impl Header {
 
 impl ::protobuf::Message for Header {
     fn is_initialized(&self) -> bool {
-        for v in &self.user_fields {
-            if !v.is_initialized() {
-                return false;
-            }
-        };
         true
     }
 
@@ -1562,7 +1547,7 @@ impl ::protobuf::Message for Header {
                 4 => {
                     if wire_type != ::protobuf::wire_format::WireTypeVarint {
                         return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
-                    }
+                    };
                     let tmp = is.read_sint32()?;
                     self.status_code = ::std::option::Option::Some(tmp);
                 },
@@ -1581,18 +1566,18 @@ impl ::protobuf::Message for Header {
     #[allow(unused_variables)]
     fn compute_size(&self) -> u32 {
         let mut my_size = 0;
-        if let Some(ref v) = self.uri.as_ref() {
+        if let Some(v) = self.uri.as_ref() {
             my_size += ::protobuf::rt::string_size(1, &v);
-        }
-        if let Some(ref v) = self.content_type.as_ref() {
+        };
+        if let Some(v) = self.content_type.as_ref() {
             my_size += ::protobuf::rt::string_size(2, &v);
-        }
-        if let Some(ref v) = self.method.as_ref() {
+        };
+        if let Some(v) = self.method.as_ref() {
             my_size += ::protobuf::rt::string_size(3, &v);
-        }
+        };
         if let Some(v) = self.status_code {
             my_size += ::protobuf::rt::value_varint_zigzag_size(4, v);
-        }
+        };
         for value in &self.user_fields {
             let len = value.compute_size();
             my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
@@ -1603,18 +1588,18 @@ impl ::protobuf::Message for Header {
     }
 
     fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
-        if let Some(ref v) = self.uri.as_ref() {
+        if let Some(v) = self.uri.as_ref() {
             os.write_string(1, &v)?;
-        }
-        if let Some(ref v) = self.content_type.as_ref() {
+        };
+        if let Some(v) = self.content_type.as_ref() {
             os.write_string(2, &v)?;
-        }
-        if let Some(ref v) = self.method.as_ref() {
+        };
+        if let Some(v) = self.method.as_ref() {
             os.write_string(3, &v)?;
-        }
+        };
         if let Some(v) = self.status_code {
             os.write_sint32(4, v)?;
-        }
+        };
         for v in &self.user_fields {
             os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
             os.write_raw_varint32(v.get_cached_size())?;
@@ -1770,7 +1755,7 @@ impl UserField {
     pub fn mut_key(&mut self) -> &mut ::std::string::String {
         if self.key.is_none() {
             self.key.set_default();
-        }
+        };
         self.key.as_mut().unwrap()
     }
 
@@ -1814,7 +1799,7 @@ impl UserField {
     pub fn mut_value(&mut self) -> &mut ::std::vec::Vec<u8> {
         if self.value.is_none() {
             self.value.set_default();
-        }
+        };
         self.value.as_mut().unwrap()
     }
 
@@ -1866,24 +1851,24 @@ impl ::protobuf::Message for UserField {
     #[allow(unused_variables)]
     fn compute_size(&self) -> u32 {
         let mut my_size = 0;
-        if let Some(ref v) = self.key.as_ref() {
+        if let Some(v) = self.key.as_ref() {
             my_size += ::protobuf::rt::string_size(1, &v);
-        }
-        if let Some(ref v) = self.value.as_ref() {
+        };
+        if let Some(v) = self.value.as_ref() {
             my_size += ::protobuf::rt::bytes_size(2, &v);
-        }
+        };
         my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
         self.cached_size.set(my_size);
         my_size
     }
 
     fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
-        if let Some(ref v) = self.key.as_ref() {
+        if let Some(v) = self.key.as_ref() {
             os.write_string(1, &v)?;
-        }
-        if let Some(ref v) = self.value.as_ref() {
+        };
+        if let Some(v) = self.value.as_ref() {
             os.write_bytes(2, &v)?;
-        }
+        };
         os.write_unknown_fields(self.get_unknown_fields())?;
         ::std::result::Result::Ok(())
     }
@@ -1968,112 +1953,165 @@ impl ::protobuf::reflect::ProtobufValue for UserField {
     }
 }
 
-static file_descriptor_proto_data: &'static [u8] = b"\
-    \n\rmercury.proto\"C\n\x16MercuryMultiGetRequest\x12)\n\x07request\x18\
-    \x01\x20\x03(\x0b2\x0f.MercuryRequestR\x07request\";\n\x14MercuryMultiGe\
-    tReply\x12#\n\x05reply\x18\x01\x20\x03(\x0b2\r.MercuryReplyR\x05reply\"m\
-    \n\x0eMercuryRequest\x12\x10\n\x03uri\x18\x01\x20\x01(\tR\x03uri\x12!\n\
-    \x0ccontent_type\x18\x02\x20\x01(\tR\x0bcontentType\x12\x12\n\x04body\
-    \x18\x03\x20\x01(\x0cR\x04body\x12\x12\n\x04etag\x18\x04\x20\x01(\x0cR\
-    \x04etag\"\xb3\x02\n\x0cMercuryReply\x12\x1f\n\x0bstatus_code\x18\x01\
-    \x20\x01(\x11R\nstatusCode\x12%\n\x0estatus_message\x18\x02\x20\x01(\tR\
-    \rstatusMessage\x12<\n\x0ccache_policy\x18\x03\x20\x01(\x0e2\x19.Mercury\
-    Reply.CachePolicyR\x0bcachePolicy\x12\x10\n\x03ttl\x18\x04\x20\x01(\x11R\
-    \x03ttl\x12\x12\n\x04etag\x18\x05\x20\x01(\x0cR\x04etag\x12!\n\x0cconten\
-    t_type\x18\x06\x20\x01(\tR\x0bcontentType\x12\x12\n\x04body\x18\x07\x20\
-    \x01(\x0cR\x04body\"@\n\x0bCachePolicy\x12\x0c\n\x08CACHE_NO\x10\x01\x12\
-    \x11\n\rCACHE_PRIVATE\x10\x02\x12\x10\n\x0cCACHE_PUBLIC\x10\x03\"\xa3\
-    \x01\n\x06Header\x12\x10\n\x03uri\x18\x01\x20\x01(\tR\x03uri\x12!\n\x0cc\
-    ontent_type\x18\x02\x20\x01(\tR\x0bcontentType\x12\x16\n\x06method\x18\
-    \x03\x20\x01(\tR\x06method\x12\x1f\n\x0bstatus_code\x18\x04\x20\x01(\x11\
-    R\nstatusCode\x12+\n\x0buser_fields\x18\x06\x20\x03(\x0b2\n.UserFieldR\n\
-    userFields\"3\n\tUserField\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\
-    \x12\x14\n\x05value\x18\x02\x20\x01(\x0cR\x05valueJ\xaf\r\n\x06\x12\x04\
-    \0\0,\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\
-    \x04\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x1e\n\x0b\n\x04\x04\0\x02\0\
-    \x12\x03\x03\x04*\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03\x03\x04\x0c\n\x0c\
-    \n\x05\x04\0\x02\0\x06\x12\x03\x03\r\x1b\n\x0c\n\x05\x04\0\x02\0\x01\x12\
-    \x03\x03\x1c#\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x03&)\n\n\n\x02\x04\
-    \x01\x12\x04\x06\0\x08\x01\n\n\n\x03\x04\x01\x01\x12\x03\x06\x08\x1c\n\
-    \x0b\n\x04\x04\x01\x02\0\x12\x03\x07\x04&\n\x0c\n\x05\x04\x01\x02\0\x04\
-    \x12\x03\x07\x04\x0c\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03\x07\r\x19\n\
-    \x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x07\x1a\x1f\n\x0c\n\x05\x04\x01\x02\
-    \0\x03\x12\x03\x07\"%\n\n\n\x02\x04\x02\x12\x04\n\0\x0f\x01\n\n\n\x03\
-    \x04\x02\x01\x12\x03\n\x08\x16\n\x0b\n\x04\x04\x02\x02\0\x12\x03\x0b\x04\
-    \x1e\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03\x0b\x04\x0c\n\x0c\n\x05\x04\
-    \x02\x02\0\x05\x12\x03\x0b\r\x13\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03\
-    \x0b\x14\x17\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03\x0b\x1a\x1d\n\x0b\n\
-    \x04\x04\x02\x02\x01\x12\x03\x0c\x04'\n\x0c\n\x05\x04\x02\x02\x01\x04\
-    \x12\x03\x0c\x04\x0c\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03\x0c\r\x13\n\
-    \x0c\n\x05\x04\x02\x02\x01\x01\x12\x03\x0c\x14\x20\n\x0c\n\x05\x04\x02\
-    \x02\x01\x03\x12\x03\x0c#&\n\x0b\n\x04\x04\x02\x02\x02\x12\x03\r\x04\x1e\
-    \n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03\r\x04\x0c\n\x0c\n\x05\x04\x02\
-    \x02\x02\x05\x12\x03\r\r\x12\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03\r\
-    \x13\x17\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03\r\x1a\x1d\n\x0b\n\x04\
-    \x04\x02\x02\x03\x12\x03\x0e\x04\x1e\n\x0c\n\x05\x04\x02\x02\x03\x04\x12\
-    \x03\x0e\x04\x0c\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03\x0e\r\x12\n\x0c\
-    \n\x05\x04\x02\x02\x03\x01\x12\x03\x0e\x13\x17\n\x0c\n\x05\x04\x02\x02\
-    \x03\x03\x12\x03\x0e\x1a\x1d\n\n\n\x02\x04\x03\x12\x04\x11\0\x1e\x01\n\n\
-    \n\x03\x04\x03\x01\x12\x03\x11\x08\x14\n\x0b\n\x04\x04\x03\x02\0\x12\x03\
-    \x12\x04&\n\x0c\n\x05\x04\x03\x02\0\x04\x12\x03\x12\x04\x0c\n\x0c\n\x05\
-    \x04\x03\x02\0\x05\x12\x03\x12\r\x13\n\x0c\n\x05\x04\x03\x02\0\x01\x12\
-    \x03\x12\x14\x1f\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03\x12\"%\n\x0b\n\
-    \x04\x04\x03\x02\x01\x12\x03\x13\x04)\n\x0c\n\x05\x04\x03\x02\x01\x04\
-    \x12\x03\x13\x04\x0c\n\x0c\n\x05\x04\x03\x02\x01\x05\x12\x03\x13\r\x13\n\
-    \x0c\n\x05\x04\x03\x02\x01\x01\x12\x03\x13\x14\"\n\x0c\n\x05\x04\x03\x02\
-    \x01\x03\x12\x03\x13%(\n\x0b\n\x04\x04\x03\x02\x02\x12\x03\x14\x04,\n\
-    \x0c\n\x05\x04\x03\x02\x02\x04\x12\x03\x14\x04\x0c\n\x0c\n\x05\x04\x03\
-    \x02\x02\x06\x12\x03\x14\r\x18\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\x03\
-    \x14\x19%\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03\x14(+\n\x0c\n\x04\x04\
-    \x03\x04\0\x12\x04\x15\x04\x19\x05\n\x0c\n\x05\x04\x03\x04\0\x01\x12\x03\
-    \x15\t\x14\n\r\n\x06\x04\x03\x04\0\x02\0\x12\x03\x16\x08\x17\n\x0e\n\x07\
-    \x04\x03\x04\0\x02\0\x01\x12\x03\x16\x08\x10\n\x0e\n\x07\x04\x03\x04\0\
-    \x02\0\x02\x12\x03\x16\x13\x16\n\r\n\x06\x04\x03\x04\0\x02\x01\x12\x03\
-    \x17\x08\x1c\n\x0e\n\x07\x04\x03\x04\0\x02\x01\x01\x12\x03\x17\x08\x15\n\
-    \x0e\n\x07\x04\x03\x04\0\x02\x01\x02\x12\x03\x17\x18\x1b\n\r\n\x06\x04\
-    \x03\x04\0\x02\x02\x12\x03\x18\x08\x1b\n\x0e\n\x07\x04\x03\x04\0\x02\x02\
-    \x01\x12\x03\x18\x08\x14\n\x0e\n\x07\x04\x03\x04\0\x02\x02\x02\x12\x03\
-    \x18\x17\x1a\n\x0b\n\x04\x04\x03\x02\x03\x12\x03\x1a\x04\x1e\n\x0c\n\x05\
-    \x04\x03\x02\x03\x04\x12\x03\x1a\x04\x0c\n\x0c\n\x05\x04\x03\x02\x03\x05\
-    \x12\x03\x1a\r\x13\n\x0c\n\x05\x04\x03\x02\x03\x01\x12\x03\x1a\x14\x17\n\
-    \x0c\n\x05\x04\x03\x02\x03\x03\x12\x03\x1a\x1a\x1d\n\x0b\n\x04\x04\x03\
-    \x02\x04\x12\x03\x1b\x04\x1e\n\x0c\n\x05\x04\x03\x02\x04\x04\x12\x03\x1b\
-    \x04\x0c\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03\x1b\r\x12\n\x0c\n\x05\
-    \x04\x03\x02\x04\x01\x12\x03\x1b\x13\x17\n\x0c\n\x05\x04\x03\x02\x04\x03\
-    \x12\x03\x1b\x1a\x1d\n\x0b\n\x04\x04\x03\x02\x05\x12\x03\x1c\x04'\n\x0c\
-    \n\x05\x04\x03\x02\x05\x04\x12\x03\x1c\x04\x0c\n\x0c\n\x05\x04\x03\x02\
-    \x05\x05\x12\x03\x1c\r\x13\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\x03\x1c\
-    \x14\x20\n\x0c\n\x05\x04\x03\x02\x05\x03\x12\x03\x1c#&\n\x0b\n\x04\x04\
-    \x03\x02\x06\x12\x03\x1d\x04\x1e\n\x0c\n\x05\x04\x03\x02\x06\x04\x12\x03\
-    \x1d\x04\x0c\n\x0c\n\x05\x04\x03\x02\x06\x05\x12\x03\x1d\r\x12\n\x0c\n\
-    \x05\x04\x03\x02\x06\x01\x12\x03\x1d\x13\x17\n\x0c\n\x05\x04\x03\x02\x06\
-    \x03\x12\x03\x1d\x1a\x1d\n\n\n\x02\x04\x04\x12\x04!\0'\x01\n\n\n\x03\x04\
-    \x04\x01\x12\x03!\x08\x0e\n\x0b\n\x04\x04\x04\x02\0\x12\x03\"\x04\x1f\n\
-    \x0c\n\x05\x04\x04\x02\0\x04\x12\x03\"\x04\x0c\n\x0c\n\x05\x04\x04\x02\0\
-    \x05\x12\x03\"\r\x13\n\x0c\n\x05\x04\x04\x02\0\x01\x12\x03\"\x14\x17\n\
-    \x0c\n\x05\x04\x04\x02\0\x03\x12\x03\"\x1a\x1e\n\x0b\n\x04\x04\x04\x02\
-    \x01\x12\x03#\x04(\n\x0c\n\x05\x04\x04\x02\x01\x04\x12\x03#\x04\x0c\n\
-    \x0c\n\x05\x04\x04\x02\x01\x05\x12\x03#\r\x13\n\x0c\n\x05\x04\x04\x02\
-    \x01\x01\x12\x03#\x14\x20\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03##'\n\
-    \x0b\n\x04\x04\x04\x02\x02\x12\x03$\x04\"\n\x0c\n\x05\x04\x04\x02\x02\
-    \x04\x12\x03$\x04\x0c\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\x03$\r\x13\n\
-    \x0c\n\x05\x04\x04\x02\x02\x01\x12\x03$\x14\x1a\n\x0c\n\x05\x04\x04\x02\
-    \x02\x03\x12\x03$\x1d!\n\x0b\n\x04\x04\x04\x02\x03\x12\x03%\x04'\n\x0c\n\
-    \x05\x04\x04\x02\x03\x04\x12\x03%\x04\x0c\n\x0c\n\x05\x04\x04\x02\x03\
-    \x05\x12\x03%\r\x13\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03%\x14\x1f\n\
-    \x0c\n\x05\x04\x04\x02\x03\x03\x12\x03%\"&\n\x0b\n\x04\x04\x04\x02\x04\
-    \x12\x03&\x04*\n\x0c\n\x05\x04\x04\x02\x04\x04\x12\x03&\x04\x0c\n\x0c\n\
-    \x05\x04\x04\x02\x04\x06\x12\x03&\r\x16\n\x0c\n\x05\x04\x04\x02\x04\x01\
-    \x12\x03&\x17\"\n\x0c\n\x05\x04\x04\x02\x04\x03\x12\x03&%)\n\n\n\x02\x04\
-    \x05\x12\x04)\0,\x01\n\n\n\x03\x04\x05\x01\x12\x03)\x08\x11\n\x0b\n\x04\
-    \x04\x05\x02\0\x12\x03*\x04\x1f\n\x0c\n\x05\x04\x05\x02\0\x04\x12\x03*\
-    \x04\x0c\n\x0c\n\x05\x04\x05\x02\0\x05\x12\x03*\r\x13\n\x0c\n\x05\x04\
-    \x05\x02\0\x01\x12\x03*\x14\x17\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03*\
-    \x1a\x1e\n\x0b\n\x04\x04\x05\x02\x01\x12\x03+\x04\x20\n\x0c\n\x05\x04\
-    \x05\x02\x01\x04\x12\x03+\x04\x0c\n\x0c\n\x05\x04\x05\x02\x01\x05\x12\
-    \x03+\r\x12\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03+\x13\x18\n\x0c\n\x05\
-    \x04\x05\x02\x01\x03\x12\x03+\x1b\x1f\
-";
+static file_descriptor_proto_data: &'static [u8] = &[
+    0x0a, 0x0d, 0x6d, 0x65, 0x72, 0x63, 0x75, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
+    0x43, 0x0a, 0x16, 0x4d, 0x65, 0x72, 0x63, 0x75, 0x72, 0x79, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x47,
+    0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x07, 0x72, 0x65, 0x71,
+    0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x4d, 0x65, 0x72,
+    0x63, 0x75, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, 0x72, 0x65, 0x71,
+    0x75, 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x14, 0x4d, 0x65, 0x72, 0x63, 0x75, 0x72, 0x79, 0x4d,
+    0x75, 0x6c, 0x74, 0x69, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x05,
+    0x72, 0x65, 0x70, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x4d, 0x65,
+    0x72, 0x63, 0x75, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x52, 0x05, 0x72, 0x65, 0x70, 0x6c,
+    0x79, 0x22, 0x6d, 0x0a, 0x0e, 0x4d, 0x65, 0x72, 0x63, 0x75, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75,
+    0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+    0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+    0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
+    0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79,
+    0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x12, 0x0a, 0x04,
+    0x65, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67,
+    0x22, 0xb3, 0x02, 0x0a, 0x0c, 0x4d, 0x65, 0x72, 0x63, 0x75, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c,
+    0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65,
+    0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f,
+    0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73,
+    0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74,
+    0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0c, 0x63, 0x61, 0x63,
+    0x68, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32,
+    0x19, 0x2e, 0x4d, 0x65, 0x72, 0x63, 0x75, 0x72, 0x79, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x2e, 0x43,
+    0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x63, 0x61, 0x63, 0x68,
+    0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x74, 0x6c, 0x18, 0x04,
+    0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61,
+    0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x21, 0x0a,
+    0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20,
+    0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
+    0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04,
+    0x62, 0x6f, 0x64, 0x79, 0x22, 0x40, 0x0a, 0x0b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x6f, 0x6c,
+    0x69, 0x63, 0x79, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x4e, 0x4f, 0x10,
+    0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41,
+    0x54, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x50, 0x55,
+    0x42, 0x4c, 0x49, 0x43, 0x10, 0x03, 0x22, 0xa3, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65,
+    0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
+    0x75, 0x72, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74,
+    0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65,
+    0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64,
+    0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x1f,
+    0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20,
+    0x01, 0x28, 0x11, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12,
+    0x2b, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x06,
+    0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64,
+    0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x33, 0x0a, 0x09,
+    0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+    0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+    0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+    0x65, 0x4a, 0xaf, 0x0d, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x2c, 0x01, 0x0a, 0x08, 0x0a, 0x01,
+    0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x02, 0x00,
+    0x04, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x02, 0x08, 0x1e, 0x0a, 0x0b,
+    0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x03, 0x04, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
+    0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x03, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02,
+    0x00, 0x06, 0x12, 0x03, 0x03, 0x0d, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01,
+    0x12, 0x03, 0x03, 0x1c, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03,
+    0x03, 0x26, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x06, 0x00, 0x08, 0x01, 0x0a,
+    0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x06, 0x08, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
+    0x01, 0x02, 0x00, 0x12, 0x03, 0x07, 0x04, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00,
+    0x04, 0x12, 0x03, 0x07, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12,
+    0x03, 0x07, 0x0d, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x07,
+    0x1a, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x07, 0x22, 0x25,
+    0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x0a, 0x00, 0x0f, 0x01, 0x0a, 0x0a, 0x0a, 0x03,
+    0x04, 0x02, 0x01, 0x12, 0x03, 0x0a, 0x08, 0x16, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00,
+    0x12, 0x03, 0x0b, 0x04, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x04, 0x12, 0x03,
+    0x0b, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x0b, 0x0d,
+    0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0b, 0x14, 0x17, 0x0a,
+    0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0b, 0x1a, 0x1d, 0x0a, 0x0b, 0x0a,
+    0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0c, 0x04, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02,
+    0x02, 0x01, 0x04, 0x12, 0x03, 0x0c, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01,
+    0x05, 0x12, 0x03, 0x0c, 0x0d, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12,
+    0x03, 0x0c, 0x14, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x0c,
+    0x23, 0x26, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x03, 0x0d, 0x04, 0x1e, 0x0a,
+    0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x04, 0x12, 0x03, 0x0d, 0x04, 0x0c, 0x0a, 0x0c, 0x0a,
+    0x05, 0x04, 0x02, 0x02, 0x02, 0x05, 0x12, 0x03, 0x0d, 0x0d, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
+    0x02, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0d, 0x13, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02,
+    0x02, 0x03, 0x12, 0x03, 0x0d, 0x1a, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12,
+    0x03, 0x0e, 0x04, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x04, 0x12, 0x03, 0x0e,
+    0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x05, 0x12, 0x03, 0x0e, 0x0d, 0x12,
+    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, 0x12, 0x03, 0x0e, 0x13, 0x17, 0x0a, 0x0c,
+    0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, 0x03, 0x0e, 0x1a, 0x1d, 0x0a, 0x0a, 0x0a, 0x02,
+    0x04, 0x03, 0x12, 0x04, 0x11, 0x00, 0x1e, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12,
+    0x03, 0x11, 0x08, 0x14, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x12, 0x04,
+    0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x03, 0x12, 0x04, 0x0c, 0x0a,
+    0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x03, 0x12, 0x0d, 0x13, 0x0a, 0x0c, 0x0a,
+    0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x12, 0x14, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
+    0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x12, 0x22, 0x25, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02,
+    0x01, 0x12, 0x03, 0x13, 0x04, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x04, 0x12,
+    0x03, 0x13, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, 0x03, 0x13,
+    0x0d, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x13, 0x14, 0x22,
+    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x13, 0x25, 0x28, 0x0a, 0x0b,
+    0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x03, 0x14, 0x04, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
+    0x03, 0x02, 0x02, 0x04, 0x12, 0x03, 0x14, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02,
+    0x02, 0x06, 0x12, 0x03, 0x14, 0x0d, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01,
+    0x12, 0x03, 0x14, 0x19, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x03,
+    0x14, 0x28, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x04, 0x00, 0x12, 0x04, 0x15, 0x04, 0x19,
+    0x05, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x15, 0x09, 0x14, 0x0a,
+    0x0d, 0x0a, 0x06, 0x04, 0x03, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x16, 0x08, 0x17, 0x0a, 0x0e,
+    0x0a, 0x07, 0x04, 0x03, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x16, 0x08, 0x10, 0x0a, 0x0e,
+    0x0a, 0x07, 0x04, 0x03, 0x04, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x16, 0x13, 0x16, 0x0a, 0x0d,
+    0x0a, 0x06, 0x04, 0x03, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x17, 0x08, 0x1c, 0x0a, 0x0e, 0x0a,
+    0x07, 0x04, 0x03, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x17, 0x08, 0x15, 0x0a, 0x0e, 0x0a,
+    0x07, 0x04, 0x03, 0x04, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x17, 0x18, 0x1b, 0x0a, 0x0d, 0x0a,
+    0x06, 0x04, 0x03, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x18, 0x08, 0x1b, 0x0a, 0x0e, 0x0a, 0x07,
+    0x04, 0x03, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x18, 0x08, 0x14, 0x0a, 0x0e, 0x0a, 0x07,
+    0x04, 0x03, 0x04, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x18, 0x17, 0x1a, 0x0a, 0x0b, 0x0a, 0x04,
+    0x04, 0x03, 0x02, 0x03, 0x12, 0x03, 0x1a, 0x04, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02,
+    0x03, 0x04, 0x12, 0x03, 0x1a, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x05,
+    0x12, 0x03, 0x1a, 0x0d, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x01, 0x12, 0x03,
+    0x1a, 0x14, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x12, 0x03, 0x1a, 0x1a,
+    0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x04, 0x12, 0x03, 0x1b, 0x04, 0x1e, 0x0a, 0x0c,
+    0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x04, 0x12, 0x03, 0x1b, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05,
+    0x04, 0x03, 0x02, 0x04, 0x05, 0x12, 0x03, 0x1b, 0x0d, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03,
+    0x02, 0x04, 0x01, 0x12, 0x03, 0x1b, 0x13, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04,
+    0x03, 0x12, 0x03, 0x1b, 0x1a, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x05, 0x12, 0x03,
+    0x1c, 0x04, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x04, 0x12, 0x03, 0x1c, 0x04,
+    0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x05, 0x12, 0x03, 0x1c, 0x0d, 0x13, 0x0a,
+    0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x01, 0x12, 0x03, 0x1c, 0x14, 0x20, 0x0a, 0x0c, 0x0a,
+    0x05, 0x04, 0x03, 0x02, 0x05, 0x03, 0x12, 0x03, 0x1c, 0x23, 0x26, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
+    0x03, 0x02, 0x06, 0x12, 0x03, 0x1d, 0x04, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x06,
+    0x04, 0x12, 0x03, 0x1d, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x06, 0x05, 0x12,
+    0x03, 0x1d, 0x0d, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x06, 0x01, 0x12, 0x03, 0x1d,
+    0x13, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x06, 0x03, 0x12, 0x03, 0x1d, 0x1a, 0x1d,
+    0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x21, 0x00, 0x27, 0x01, 0x0a, 0x0a, 0x0a, 0x03,
+    0x04, 0x04, 0x01, 0x12, 0x03, 0x21, 0x08, 0x0e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00,
+    0x12, 0x03, 0x22, 0x04, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, 0x03,
+    0x22, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x22, 0x0d,
+    0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x22, 0x14, 0x17, 0x0a,
+    0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x22, 0x1a, 0x1e, 0x0a, 0x0b, 0x0a,
+    0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x23, 0x04, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04,
+    0x02, 0x01, 0x04, 0x12, 0x03, 0x23, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01,
+    0x05, 0x12, 0x03, 0x23, 0x0d, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12,
+    0x03, 0x23, 0x14, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, 0x23,
+    0x23, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x03, 0x24, 0x04, 0x22, 0x0a,
+    0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x03, 0x24, 0x04, 0x0c, 0x0a, 0x0c, 0x0a,
+    0x05, 0x04, 0x04, 0x02, 0x02, 0x05, 0x12, 0x03, 0x24, 0x0d, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
+    0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x24, 0x14, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02,
+    0x02, 0x03, 0x12, 0x03, 0x24, 0x1d, 0x21, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, 0x12,
+    0x03, 0x25, 0x04, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x04, 0x12, 0x03, 0x25,
+    0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x05, 0x12, 0x03, 0x25, 0x0d, 0x13,
+    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x01, 0x12, 0x03, 0x25, 0x14, 0x1f, 0x0a, 0x0c,
+    0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, 0x12, 0x03, 0x25, 0x22, 0x26, 0x0a, 0x0b, 0x0a, 0x04,
+    0x04, 0x04, 0x02, 0x04, 0x12, 0x03, 0x26, 0x04, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02,
+    0x04, 0x04, 0x12, 0x03, 0x26, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x06,
+    0x12, 0x03, 0x26, 0x0d, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x01, 0x12, 0x03,
+    0x26, 0x17, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x03, 0x12, 0x03, 0x26, 0x25,
+    0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x29, 0x00, 0x2c, 0x01, 0x0a, 0x0a, 0x0a,
+    0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x29, 0x08, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02,
+    0x00, 0x12, 0x03, 0x2a, 0x04, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x04, 0x12,
+    0x03, 0x2a, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, 0x2a,
+    0x0d, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x2a, 0x14, 0x17,
+    0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x2a, 0x1a, 0x1e, 0x0a, 0x0b,
+    0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x03, 0x2b, 0x04, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
+    0x05, 0x02, 0x01, 0x04, 0x12, 0x03, 0x2b, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02,
+    0x01, 0x05, 0x12, 0x03, 0x2b, 0x0d, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01,
+    0x12, 0x03, 0x2b, 0x13, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x03,
+    0x2b, 0x1b, 0x1f,
+];
 
 static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
     lock: ::protobuf::lazy::ONCE_INIT,

File diff suppressed because it is too large
+ 131 - 311
protocol/src/metadata.rs


+ 36 - 28
protocol/src/pubsub.rs

@@ -70,7 +70,7 @@ impl Subscription {
     pub fn mut_uri(&mut self) -> &mut ::std::string::String {
         if self.uri.is_none() {
             self.uri.set_default();
-        }
+        };
         self.uri.as_mut().unwrap()
     }
 
@@ -164,14 +164,14 @@ impl ::protobuf::Message for Subscription {
                 2 => {
                     if wire_type != ::protobuf::wire_format::WireTypeVarint {
                         return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
-                    }
+                    };
                     let tmp = is.read_int32()?;
                     self.expiry = ::std::option::Option::Some(tmp);
                 },
                 3 => {
                     if wire_type != ::protobuf::wire_format::WireTypeVarint {
                         return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
-                    }
+                    };
                     let tmp = is.read_int32()?;
                     self.status_code = ::std::option::Option::Some(tmp);
                 },
@@ -187,30 +187,30 @@ impl ::protobuf::Message for Subscription {
     #[allow(unused_variables)]
     fn compute_size(&self) -> u32 {
         let mut my_size = 0;
-        if let Some(ref v) = self.uri.as_ref() {
+        if let Some(v) = self.uri.as_ref() {
             my_size += ::protobuf::rt::string_size(1, &v);
-        }
+        };
         if let Some(v) = self.expiry {
             my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
-        }
+        };
         if let Some(v) = self.status_code {
             my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
-        }
+        };
         my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
         self.cached_size.set(my_size);
         my_size
     }
 
     fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
-        if let Some(ref v) = self.uri.as_ref() {
+        if let Some(v) = self.uri.as_ref() {
             os.write_string(1, &v)?;
-        }
+        };
         if let Some(v) = self.expiry {
             os.write_int32(2, v)?;
-        }
+        };
         if let Some(v) = self.status_code {
             os.write_int32(3, v)?;
-        }
+        };
         os.write_unknown_fields(self.get_unknown_fields())?;
         ::std::result::Result::Ok(())
     }
@@ -301,23 +301,31 @@ impl ::protobuf::reflect::ProtobufValue for Subscription {
     }
 }
 
-static file_descriptor_proto_data: &'static [u8] = b"\
-    \n\x0cpubsub.proto\"Y\n\x0cSubscription\x12\x10\n\x03uri\x18\x01\x20\x01\
-    (\tR\x03uri\x12\x16\n\x06expiry\x18\x02\x20\x01(\x05R\x06expiry\x12\x1f\
-    \n\x0bstatus_code\x18\x03\x20\x01(\x05R\nstatusCodeJ\xf9\x01\n\x06\x12\
-    \x04\0\0\x06\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\n\x02\x04\0\x12\x04\
-    \x02\0\x06\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\x14\n\x0b\n\x04\x04\0\
-    \x02\0\x12\x03\x03\x04\x1e\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03\x03\x04\
-    \x0c\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x03\r\x13\n\x0c\n\x05\x04\0\x02\
-    \0\x01\x12\x03\x03\x14\x17\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x03\x1a\
-    \x1d\n\x0b\n\x04\x04\0\x02\x01\x12\x03\x04\x04\x20\n\x0c\n\x05\x04\0\x02\
-    \x01\x04\x12\x03\x04\x04\x0c\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x04\r\
-    \x12\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x04\x13\x19\n\x0c\n\x05\x04\0\
-    \x02\x01\x03\x12\x03\x04\x1c\x1f\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x05\
-    \x04%\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03\x05\x04\x0c\n\x0c\n\x05\x04\
-    \0\x02\x02\x05\x12\x03\x05\r\x12\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\
-    \x05\x13\x1e\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03\x05!$\
-";
+static file_descriptor_proto_data: &'static [u8] = &[
+    0x0a, 0x0c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x59,
+    0x0a, 0x0c, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10,
+    0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69,
+    0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
+    0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74,
+    0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73,
+    0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x4a, 0xf9, 0x01, 0x0a, 0x06, 0x12, 0x04,
+    0x00, 0x00, 0x06, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x0a,
+    0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x02, 0x00, 0x06, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00,
+    0x01, 0x12, 0x03, 0x02, 0x08, 0x14, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03,
+    0x03, 0x04, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x03, 0x04,
+    0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x03, 0x0d, 0x13, 0x0a,
+    0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x03, 0x14, 0x17, 0x0a, 0x0c, 0x0a,
+    0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x03, 0x1a, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
+    0x00, 0x02, 0x01, 0x12, 0x03, 0x04, 0x04, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01,
+    0x04, 0x12, 0x03, 0x04, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12,
+    0x03, 0x04, 0x0d, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x04,
+    0x13, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x04, 0x1c, 0x1f,
+    0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x05, 0x04, 0x25, 0x0a, 0x0c, 0x0a,
+    0x05, 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x05, 0x04, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
+    0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x05, 0x0d, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02,
+    0x02, 0x01, 0x12, 0x03, 0x05, 0x13, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03,
+    0x12, 0x03, 0x05, 0x21, 0x24,
+];
 
 static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
     lock: ::protobuf::lazy::ONCE_INIT,

File diff suppressed because it is too large
+ 177 - 217
protocol/src/spirc.rs


Some files were not shown because too many files changed in this diff