#[derive(Clone, PartialEq, Message)]
pub struct Path {
#[prost(string, tag="1")]
pub ipaddr: String,
#[prost(enumeration="path::Category", tag="2")]
pub category: i32,
}
pub mod path {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, Enumeration)]
pub enum Category {
Invalid = 0,
Local = 1,
Internet = 2,
BrokerOrigin = 3,
}
}
#[derive(Clone, PartialEq, Message)]
pub struct Filter {
#[prost(oneof="filter::M", tags="1, 2")]
pub m: ::std::option::Option<filter::M>,
}
pub mod filter {
#[derive(Clone, Oneof, PartialEq)]
pub enum M {
#[prost(bool, tag="1")]
Immediate(bool),
#[prost(bytes, tag="2")]
Identity(Vec<u8>),
}
}
#[derive(Clone, PartialEq, Message)]
pub struct SubscribeRequest {
#[prost(bytes, tag="1")]
pub shadow: Vec<u8>,
#[prost(message, repeated, tag="2")]
pub filter: ::std::vec::Vec<Filter>,
}
#[derive(Clone, PartialEq, Message)]
pub struct Publish {
#[prost(bytes, tag="1")]
pub identity: Vec<u8>,
#[prost(bytes, tag="2")]
pub xaddr: Vec<u8>,
}
#[derive(Clone, PartialEq, Message)]
pub struct Unpublish {
#[prost(bytes, tag="1")]
pub identity: Vec<u8>,
}
#[derive(Clone, PartialEq, Message)]
pub struct Supersede {
}
#[derive(Clone, PartialEq, Message)]
pub struct SubscribeChange {
#[prost(oneof="subscribe_change::M", tags="1, 2, 3")]
pub m: ::std::option::Option<subscribe_change::M>,
}
pub mod subscribe_change {
#[derive(Clone, Oneof, PartialEq)]
pub enum M {
#[prost(message, tag="1")]
Publish(super::Publish),
#[prost(message, tag="2")]
Unpublish(super::Unpublish),
#[prost(message, tag="3")]
Supersede(super::Supersede),
}
}
#[derive(Clone, PartialEq, Message)]
pub struct PublishRequest {
#[prost(bytes, tag="1")]
pub xaddr: Vec<u8>,
#[prost(bytes, tag="2")]
pub shadow: Vec<u8>,
}
#[derive(Clone, PartialEq, Message)]
pub struct PublishChange {
#[prost(oneof="publish_change::M", tags="1")]
pub m: ::std::option::Option<publish_change::M>,
}
pub mod publish_change {
#[derive(Clone, Oneof, PartialEq)]
pub enum M {
#[prost(message, tag="1")]
Supersede(super::Supersede),
}
}
#[derive(Clone, PartialEq, Message)]
pub struct ConnectRequest {
#[prost(bytes, tag="1")]
pub target: Vec<u8>,
#[prost(uint64, tag="2")]
pub timestamp: u64,
#[prost(bytes, tag="3")]
pub handshake: Vec<u8>,
#[prost(message, repeated, tag="4")]
pub paths: ::std::vec::Vec<Path>,
#[prost(bytes, tag="5")]
pub identity: Vec<u8>,
}
#[derive(Clone, PartialEq, Message)]
pub struct ConnectResponse {
#[prost(bool, tag="1")]
pub ok: bool,
#[prost(bytes, tag="2")]
pub handshake: Vec<u8>,
#[prost(uint64, tag="3")]
pub route: u64,
#[prost(message, repeated, tag="4")]
pub paths: ::std::vec::Vec<Path>,
}
#[derive(Clone, PartialEq, Message)]
pub struct PeerConnectRequest {
#[prost(bytes, tag="1")]
pub identity: Vec<u8>,
#[prost(uint64, tag="2")]
pub timestamp: u64,
#[prost(bytes, tag="3")]
pub handshake: Vec<u8>,
#[prost(uint64, tag="4")]
pub route: u64,
#[prost(message, repeated, tag="5")]
pub paths: ::std::vec::Vec<Path>,
}
#[derive(Clone, PartialEq, Message)]
pub struct PeerConnectResponse {
#[prost(bool, tag="1")]
pub ok: bool,
#[prost(bytes, tag="2")]
pub handshake: Vec<u8>,
#[prost(message, repeated, tag="3")]
pub paths: ::std::vec::Vec<Path>,
}
#[derive(Clone, PartialEq, Message)]
pub struct ProtoHeader {
#[prost(uint64, tag="1")]
pub len: u64,
}
#[derive(Clone, PartialEq, Message)]
pub struct Empty {
}