Upgrade protobuf to 2.0 and use protoc-rust to compile proto files

This commit is contained in:
ashthespy 2018-09-28 12:02:38 +02:00
parent 37c588d6a1
commit c5fcdfd43c
15 changed files with 3386 additions and 7893 deletions

64
Cargo.lock generated
View file

@ -426,7 +426,7 @@ dependencies = [
"log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
"mdns 0.2.0 (git+https://github.com/plietar/rust-mdns)",
"num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)",
@ -455,7 +455,7 @@ dependencies = [
"num-bigint 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
"num-integer 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)",
"rpassword 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
@ -479,7 +479,7 @@ dependencies = [
"librespot-core 0.1.0",
"librespot-protocol 0.1.0",
"linear-map 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -503,7 +503,8 @@ dependencies = [
name = "librespot-protocol"
version = "0.1.0"
dependencies = [
"protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"protoc-rust 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
@ -742,6 +743,38 @@ name = "protobuf"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "protobuf"
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "protobuf-codegen"
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "protoc"
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "protoc-rust"
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf-codegen 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"protoc 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
"tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "quick-error"
version = "1.2.1"
@ -813,6 +846,14 @@ dependencies = [
"futures 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "remove_dir_all"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"winapi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "rpassword"
version = "0.3.1"
@ -1013,6 +1054,15 @@ name = "take"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "tempdir"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"rand 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
"remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "tempfile"
version = "2.2.0"
@ -1472,6 +1522,10 @@ dependencies = [
"checksum portaudio-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5194a4fa953b4ffd851c320ef6f0484cd7278cb7169ea9d6c433e49b23f7b7f5"
"checksum proc-macro2 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1b06e2f335f48d24442b35a19df506a835fb3547bc3c06ef27340da9acf5cae7"
"checksum protobuf 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "40e2484e639dcae0985fc483ad76ce7ad78ee5aa092751d7d538f0b20d76486b"
"checksum protobuf 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c72f6663900752624f6b9b78d16abfc014caaa17d0002ff991274533cdc06c62"
"checksum protobuf-codegen 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3b3aabdbe464662cbdf305a7db531fa059aa4368e2dc3a80be3796fcc2f931a6"
"checksum protoc 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "2c5b7410824a538229987eced0fd09e20562a10f16fe345a866765e9a598c3fd"
"checksum protoc-rust 2.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "81899fad644d227d07370922d3f80afaf574252137e0cf696961661303c279c0"
"checksum quick-error 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eda5fe9b71976e62bc81b781206aaa076401769b2143379d3eb2118388babac4"
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
"checksum quote 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9949cfe66888ffe1d53e6ec9d9f3b70714083854be20fd5e271b232a017401e8"
@ -1481,6 +1535,7 @@ dependencies = [
"checksum regex 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "aec3f58d903a7d2a9dc2bf0e41a746f4530e0cab6b615494e058f67a3ef947fb"
"checksum regex-syntax 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bd90079345f4a4c3409214734ae220fd773c6f2e8a543d07370c6c1c369cfbfb"
"checksum relay 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1576e382688d7e9deecea24417e350d3062d97e32e45d70b1cde65994ff1489a"
"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
"checksum rpassword 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ec4bdede957362ec6fdd550f7e79c6d14cad2bc26b2d062786234c6ee0cb27bb"
"checksum rust-crypto 0.2.36 (git+https://github.com/awmath/rust-crypto.git?branch=avx2)" = "<none>"
"checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
@ -1507,6 +1562,7 @@ dependencies = [
"checksum syn 0.13.4 (registry+https://github.com/rust-lang/crates.io-index)" = "90d5efaad92a0f96c629ae16302cc9591915930fd49ff0dcc6b4cde146782397"
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
"checksum take 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b157868d8ac1f56b64604539990685fa7611d8fa9e5476cf0c02cf34d32917c5"
"checksum tempdir 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
"checksum tempfile 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "11ce2fe9db64b842314052e2421ac61a73ce41b898dc8e3750398b219c5fc1e0"
"checksum termios 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d5d9cf598a6d7ce700a4e6a9199da127e6819a61e64b68609683cc9a01b5683a"
"checksum thread_local 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "279ef31c19ededf577bfd12dfae728040a21f635b06a24cd670ff510edd38963"

View file

@ -16,7 +16,7 @@ futures = "0.1.8"
hyper = "0.11.2"
log = "0.3.5"
num-bigint = "0.1.35"
protobuf = "1.1"
protobuf = "2.0.5"
rand = "0.3.13"
rust-crypto = "0.2.36"
serde = "0.9.6"

View file

@ -22,7 +22,7 @@ log = "0.3.5"
num-bigint = "0.1.35"
num-integer = "0.1.32"
num-traits = "0.1.36"
protobuf = "1.1"
protobuf = "2.0.5"
rand = "0.3.13"
rpassword = "0.3.0"
rust-crypto = "0.2.36"

View file

@ -3,7 +3,7 @@ use crypto::hmac::Hmac;
use crypto::mac::Mac;
use crypto::sha1::Sha1;
use futures::{Async, Future, Poll};
use protobuf::{self, Message, MessageStatic};
use protobuf::{self, Message};
use rand::thread_rng;
use std::io::{self, Read};
use std::marker::PhantomData;
@ -126,7 +126,7 @@ fn client_response<T: AsyncWrite>(connection: T, challenge: Vec<u8>) -> WriteAll
write_all(connection, buffer)
}
enum RecvPacket<T, M: MessageStatic> {
enum RecvPacket<T, M: Message> {
Header(ReadExact<T, Window<Vec<u8>>>, PhantomData<M>),
Body(ReadExact<T, Window<Vec<u8>>>, PhantomData<M>),
}
@ -134,7 +134,7 @@ enum RecvPacket<T, M: MessageStatic> {
fn recv_packet<T: AsyncRead, M>(connection: T, acc: Vec<u8>) -> RecvPacket<T, M>
where
T: Read,
M: MessageStatic,
M: Message,
{
RecvPacket::Header(read_into_accumulator(connection, 4, acc), PhantomData)
}
@ -142,7 +142,7 @@ where
impl<T: AsyncRead, M> Future for RecvPacket<T, M>
where
T: Read,
M: MessageStatic,
M: Message,
{
type Item = (T, M, Vec<u8>);
type Error = io::Error;

View file

@ -7,7 +7,7 @@ authors = ["Paul Lietar <paul@lietar.net>"]
byteorder = "1.0"
futures = "0.1.8"
linear-map = "1.0"
protobuf = "1.1"
protobuf = "2.0.5"
[dependencies.librespot-core]
path = "../core"

View file

@ -53,7 +53,7 @@ where
}
pub trait Metadata: Send + Sized + 'static {
type Message: protobuf::MessageStatic;
type Message: protobuf::Message;
fn base_url() -> &'static str;
fn parse(msg: &Self::Message, session: &Session) -> Self;

View file

@ -5,4 +5,7 @@ authors = ["Paul Liétar <paul@lietar.net>"]
build = "build.rs"
[dependencies]
protobuf = "1.0.10"
protobuf = "2.0.5"
[build-dependencies]
protoc-rust = "2.0.5"

View file

@ -1,15 +1,36 @@
extern crate protoc_rust;
use protoc_rust::Customize;
use std::fs::File;
use std::io::prelude::*;
mod files;
fn main() {
let mut changed = false;
let mut file = File::open("files.rs").unwrap();
let mut f_str = String::new();
file.read_to_string(&mut f_str).unwrap();
drop(file);
for &(path, expected_checksum) in files::FILES {
let actual = cksum_file(path).unwrap();
if expected_checksum != actual {
panic!("Checksum for {:?} does not match. Try running build.sh", path);
protoc_rust::run(protoc_rust::Args {
out_dir: "src",
input: &[path],
includes: &["proto"],
customize: Customize { ..Default::default() },
}).expect("protoc");
let new_checksum = cksum_file(path).unwrap();
f_str = f_str.replace(&expected_checksum.to_string(), &new_checksum.to_string());
changed = true;
}
}
if changed {
// Write new checksums to file
let mut file = File::create("files.rs").unwrap();
println!("f_str: {:?}",f_str);
file.write_all(f_str.as_bytes()).unwrap();
}
}
fn cksum_file<T: AsRef<std::path::Path>>(path: T) -> std::io::Result<u32> {

View file

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

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
// This file is generated. Do not edit
// This file is generated by rust-protobuf 2.0.5. Do not edit
// @generated
// https://github.com/Manishearth/rust-clippy/issues/702
@ -32,24 +32,11 @@ pub struct Subscription {
cached_size: ::protobuf::CachedSize,
}
// see codegen.rs for the explanation why impl Sync explicitly
unsafe impl ::std::marker::Sync for Subscription {}
impl Subscription {
pub fn new() -> Subscription {
::std::default::Default::default()
}
pub fn default_instance() -> &'static Subscription {
static mut instance: ::protobuf::lazy::Lazy<Subscription> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const Subscription,
};
unsafe {
instance.get(Subscription::new)
}
}
// optional string uri = 1;
pub fn clear_uri(&mut self) {
@ -70,7 +57,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()
}
@ -86,14 +73,6 @@ impl Subscription {
}
}
fn get_uri_for_reflect(&self) -> &::protobuf::SingularField<::std::string::String> {
&self.uri
}
fn mut_uri_for_reflect(&mut self) -> &mut ::protobuf::SingularField<::std::string::String> {
&mut self.uri
}
// optional int32 expiry = 2;
pub fn clear_expiry(&mut self) {
@ -113,14 +92,6 @@ impl Subscription {
self.expiry.unwrap_or(0)
}
fn get_expiry_for_reflect(&self) -> &::std::option::Option<i32> {
&self.expiry
}
fn mut_expiry_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
&mut self.expiry
}
// optional int32 status_code = 3;
pub fn clear_status_code(&mut self) {
@ -139,14 +110,6 @@ impl Subscription {
pub fn get_status_code(&self) -> i32 {
self.status_code.unwrap_or(0)
}
fn get_status_code_for_reflect(&self) -> &::std::option::Option<i32> {
&self.status_code
}
fn mut_status_code_for_reflect(&mut self) -> &mut ::std::option::Option<i32> {
&mut self.status_code
}
}
impl ::protobuf::Message for Subscription {
@ -164,14 +127,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 +150,30 @@ impl ::protobuf::Message for Subscription {
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.uri.as_ref() {
if let Some(ref 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(v) = self.uri.as_ref() {
if let Some(ref 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(())
}
@ -238,16 +201,14 @@ impl ::protobuf::Message for Subscription {
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
::protobuf::MessageStatic::descriptor_static(None::<Self>)
Self::descriptor_static()
}
}
impl ::protobuf::MessageStatic for Subscription {
fn new() -> Subscription {
Subscription::new()
}
fn descriptor_static(_: ::std::option::Option<Subscription>) -> &'static ::protobuf::reflect::MessageDescriptor {
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
@ -257,18 +218,18 @@ impl ::protobuf::MessageStatic for Subscription {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"uri",
Subscription::get_uri_for_reflect,
Subscription::mut_uri_for_reflect,
|m: &Subscription| { &m.uri },
|m: &mut Subscription| { &mut m.uri },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
"expiry",
Subscription::get_expiry_for_reflect,
Subscription::mut_expiry_for_reflect,
|m: &Subscription| { &m.expiry },
|m: &mut Subscription| { &mut m.expiry },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
"status_code",
Subscription::get_status_code_for_reflect,
Subscription::mut_status_code_for_reflect,
|m: &Subscription| { &m.status_code },
|m: &mut Subscription| { &mut m.status_code },
));
::protobuf::reflect::MessageDescriptor::new::<Subscription>(
"Subscription",
@ -278,6 +239,16 @@ impl ::protobuf::MessageStatic for Subscription {
})
}
}
fn default_instance() -> &'static Subscription {
static mut instance: ::protobuf::lazy::Lazy<Subscription> = ::protobuf::lazy::Lazy {
lock: ::protobuf::lazy::ONCE_INIT,
ptr: 0 as *const Subscription,
};
unsafe {
instance.get(Subscription::new)
}
}
}
impl ::protobuf::Clear for Subscription {
@ -301,31 +272,11 @@ impl ::protobuf::reflect::ProtobufValue for Subscription {
}
}
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 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\nstatusCode\
";
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 Load diff