#![allow(unknown_lints)]
#![allow(clippy::all)]
#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]
#![allow(box_pointers)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_imports)]
#![allow(unused_results)]
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramRouterPingReply {
client_timestamp: ::std::option::Option<u32>,
pub latency_datacenter_ids: ::std::vec::Vec<u32>,
pub latency_ping_ms: ::std::vec::Vec<u32>,
your_public_ip: ::std::option::Option<u32>,
your_public_port: ::std::option::Option<u32>,
server_time: ::std::option::Option<u32>,
challenge: ::std::option::Option<u64>,
seconds_until_shutdown: ::std::option::Option<u32>,
client_cookie: ::std::option::Option<u32>,
scoring_penalty_relay_cluster: ::std::option::Option<u32>,
flags: ::std::option::Option<u32>,
pub route_exceptions: ::protobuf::RepeatedField<CMsgSteamDatagramRouterPingReply_RouteException>,
pub alt_addresses: ::protobuf::RepeatedField<CMsgSteamDatagramRouterPingReply_AltAddress>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramRouterPingReply {
fn default() -> &'a CMsgSteamDatagramRouterPingReply {
<CMsgSteamDatagramRouterPingReply as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramRouterPingReply {
pub fn new() -> CMsgSteamDatagramRouterPingReply {
::std::default::Default::default()
}
pub fn get_client_timestamp(&self) -> u32 {
self.client_timestamp.unwrap_or(0)
}
pub fn clear_client_timestamp(&mut self) {
self.client_timestamp = ::std::option::Option::None;
}
pub fn has_client_timestamp(&self) -> bool {
self.client_timestamp.is_some()
}
pub fn set_client_timestamp(&mut self, v: u32) {
self.client_timestamp = ::std::option::Option::Some(v);
}
pub fn get_latency_datacenter_ids(&self) -> &[u32] {
&self.latency_datacenter_ids
}
pub fn clear_latency_datacenter_ids(&mut self) {
self.latency_datacenter_ids.clear();
}
pub fn set_latency_datacenter_ids(&mut self, v: ::std::vec::Vec<u32>) {
self.latency_datacenter_ids = v;
}
pub fn mut_latency_datacenter_ids(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.latency_datacenter_ids
}
pub fn take_latency_datacenter_ids(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.latency_datacenter_ids, ::std::vec::Vec::new())
}
pub fn get_latency_ping_ms(&self) -> &[u32] {
&self.latency_ping_ms
}
pub fn clear_latency_ping_ms(&mut self) {
self.latency_ping_ms.clear();
}
pub fn set_latency_ping_ms(&mut self, v: ::std::vec::Vec<u32>) {
self.latency_ping_ms = v;
}
pub fn mut_latency_ping_ms(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.latency_ping_ms
}
pub fn take_latency_ping_ms(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.latency_ping_ms, ::std::vec::Vec::new())
}
pub fn get_your_public_ip(&self) -> u32 {
self.your_public_ip.unwrap_or(0)
}
pub fn clear_your_public_ip(&mut self) {
self.your_public_ip = ::std::option::Option::None;
}
pub fn has_your_public_ip(&self) -> bool {
self.your_public_ip.is_some()
}
pub fn set_your_public_ip(&mut self, v: u32) {
self.your_public_ip = ::std::option::Option::Some(v);
}
pub fn get_your_public_port(&self) -> u32 {
self.your_public_port.unwrap_or(0)
}
pub fn clear_your_public_port(&mut self) {
self.your_public_port = ::std::option::Option::None;
}
pub fn has_your_public_port(&self) -> bool {
self.your_public_port.is_some()
}
pub fn set_your_public_port(&mut self, v: u32) {
self.your_public_port = ::std::option::Option::Some(v);
}
pub fn get_server_time(&self) -> u32 {
self.server_time.unwrap_or(0)
}
pub fn clear_server_time(&mut self) {
self.server_time = ::std::option::Option::None;
}
pub fn has_server_time(&self) -> bool {
self.server_time.is_some()
}
pub fn set_server_time(&mut self, v: u32) {
self.server_time = ::std::option::Option::Some(v);
}
pub fn get_challenge(&self) -> u64 {
self.challenge.unwrap_or(0)
}
pub fn clear_challenge(&mut self) {
self.challenge = ::std::option::Option::None;
}
pub fn has_challenge(&self) -> bool {
self.challenge.is_some()
}
pub fn set_challenge(&mut self, v: u64) {
self.challenge = ::std::option::Option::Some(v);
}
pub fn get_seconds_until_shutdown(&self) -> u32 {
self.seconds_until_shutdown.unwrap_or(0)
}
pub fn clear_seconds_until_shutdown(&mut self) {
self.seconds_until_shutdown = ::std::option::Option::None;
}
pub fn has_seconds_until_shutdown(&self) -> bool {
self.seconds_until_shutdown.is_some()
}
pub fn set_seconds_until_shutdown(&mut self, v: u32) {
self.seconds_until_shutdown = ::std::option::Option::Some(v);
}
pub fn get_client_cookie(&self) -> u32 {
self.client_cookie.unwrap_or(0)
}
pub fn clear_client_cookie(&mut self) {
self.client_cookie = ::std::option::Option::None;
}
pub fn has_client_cookie(&self) -> bool {
self.client_cookie.is_some()
}
pub fn set_client_cookie(&mut self, v: u32) {
self.client_cookie = ::std::option::Option::Some(v);
}
pub fn get_scoring_penalty_relay_cluster(&self) -> u32 {
self.scoring_penalty_relay_cluster.unwrap_or(0)
}
pub fn clear_scoring_penalty_relay_cluster(&mut self) {
self.scoring_penalty_relay_cluster = ::std::option::Option::None;
}
pub fn has_scoring_penalty_relay_cluster(&self) -> bool {
self.scoring_penalty_relay_cluster.is_some()
}
pub fn set_scoring_penalty_relay_cluster(&mut self, v: u32) {
self.scoring_penalty_relay_cluster = ::std::option::Option::Some(v);
}
pub fn get_flags(&self) -> u32 {
self.flags.unwrap_or(0)
}
pub fn clear_flags(&mut self) {
self.flags = ::std::option::Option::None;
}
pub fn has_flags(&self) -> bool {
self.flags.is_some()
}
pub fn set_flags(&mut self, v: u32) {
self.flags = ::std::option::Option::Some(v);
}
pub fn get_route_exceptions(&self) -> &[CMsgSteamDatagramRouterPingReply_RouteException] {
&self.route_exceptions
}
pub fn clear_route_exceptions(&mut self) {
self.route_exceptions.clear();
}
pub fn set_route_exceptions(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramRouterPingReply_RouteException>) {
self.route_exceptions = v;
}
pub fn mut_route_exceptions(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramRouterPingReply_RouteException> {
&mut self.route_exceptions
}
pub fn take_route_exceptions(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramRouterPingReply_RouteException> {
::std::mem::replace(&mut self.route_exceptions, ::protobuf::RepeatedField::new())
}
pub fn get_alt_addresses(&self) -> &[CMsgSteamDatagramRouterPingReply_AltAddress] {
&self.alt_addresses
}
pub fn clear_alt_addresses(&mut self) {
self.alt_addresses.clear();
}
pub fn set_alt_addresses(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramRouterPingReply_AltAddress>) {
self.alt_addresses = v;
}
pub fn mut_alt_addresses(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramRouterPingReply_AltAddress> {
&mut self.alt_addresses
}
pub fn take_alt_addresses(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramRouterPingReply_AltAddress> {
::std::mem::replace(&mut self.alt_addresses, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramRouterPingReply {
fn is_initialized(&self) -> bool {
for v in &self.route_exceptions {
if !v.is_initialized() {
return false;
}
};
for v in &self.alt_addresses {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.client_timestamp = ::std::option::Option::Some(tmp);
},
2 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.latency_datacenter_ids)?;
},
3 => {
::protobuf::rt::read_repeated_uint32_into(wire_type, is, &mut self.latency_ping_ms)?;
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.your_public_ip = ::std::option::Option::Some(tmp);
},
11 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.your_public_port = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.server_time = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.challenge = ::std::option::Option::Some(tmp);
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seconds_until_shutdown = ::std::option::Option::Some(tmp);
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.client_cookie = ::std::option::Option::Some(tmp);
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.scoring_penalty_relay_cluster = ::std::option::Option::Some(tmp);
},
12 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.flags = ::std::option::Option::Some(tmp);
},
10 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.route_exceptions)?;
},
13 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.alt_addresses)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.client_timestamp {
my_size += 5;
}
if !self.latency_datacenter_ids.is_empty() {
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size((self.latency_datacenter_ids.len() * 4) as u32) + (self.latency_datacenter_ids.len() * 4) as u32;
}
if !self.latency_ping_ms.is_empty() {
my_size += ::protobuf::rt::vec_packed_varint_size(3, &self.latency_ping_ms);
}
if let Some(v) = self.your_public_ip {
my_size += 5;
}
if let Some(v) = self.your_public_port {
my_size += 5;
}
if let Some(v) = self.server_time {
my_size += 5;
}
if let Some(v) = self.challenge {
my_size += 9;
}
if let Some(v) = self.seconds_until_shutdown {
my_size += ::protobuf::rt::value_size(7, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.client_cookie {
my_size += 5;
}
if let Some(v) = self.scoring_penalty_relay_cluster {
my_size += ::protobuf::rt::value_size(9, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.flags {
my_size += ::protobuf::rt::value_size(12, v, ::protobuf::wire_format::WireTypeVarint);
}
for value in &self.route_exceptions {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.alt_addresses {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
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.client_timestamp {
os.write_fixed32(1, v)?;
}
if !self.latency_datacenter_ids.is_empty() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32((self.latency_datacenter_ids.len() * 4) as u32)?;
for v in &self.latency_datacenter_ids {
os.write_fixed32_no_tag(*v)?;
};
}
if !self.latency_ping_ms.is_empty() {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(::protobuf::rt::vec_packed_varint_data_size(&self.latency_ping_ms))?;
for v in &self.latency_ping_ms {
os.write_uint32_no_tag(*v)?;
};
}
if let Some(v) = self.your_public_ip {
os.write_fixed32(4, v)?;
}
if let Some(v) = self.your_public_port {
os.write_fixed32(11, v)?;
}
if let Some(v) = self.server_time {
os.write_fixed32(5, v)?;
}
if let Some(v) = self.challenge {
os.write_fixed64(6, v)?;
}
if let Some(v) = self.seconds_until_shutdown {
os.write_uint32(7, v)?;
}
if let Some(v) = self.client_cookie {
os.write_fixed32(8, v)?;
}
if let Some(v) = self.scoring_penalty_relay_cluster {
os.write_uint32(9, v)?;
}
if let Some(v) = self.flags {
os.write_uint32(12, v)?;
}
for v in &self.route_exceptions {
os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.alt_addresses {
os.write_tag(13, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramRouterPingReply {
CMsgSteamDatagramRouterPingReply::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"client_timestamp",
|m: &CMsgSteamDatagramRouterPingReply| { &m.client_timestamp },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.client_timestamp },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"latency_datacenter_ids",
|m: &CMsgSteamDatagramRouterPingReply| { &m.latency_datacenter_ids },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.latency_datacenter_ids },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"latency_ping_ms",
|m: &CMsgSteamDatagramRouterPingReply| { &m.latency_ping_ms },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.latency_ping_ms },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"your_public_ip",
|m: &CMsgSteamDatagramRouterPingReply| { &m.your_public_ip },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.your_public_ip },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"your_public_port",
|m: &CMsgSteamDatagramRouterPingReply| { &m.your_public_port },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.your_public_port },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"server_time",
|m: &CMsgSteamDatagramRouterPingReply| { &m.server_time },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.server_time },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"challenge",
|m: &CMsgSteamDatagramRouterPingReply| { &m.challenge },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.challenge },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seconds_until_shutdown",
|m: &CMsgSteamDatagramRouterPingReply| { &m.seconds_until_shutdown },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.seconds_until_shutdown },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"client_cookie",
|m: &CMsgSteamDatagramRouterPingReply| { &m.client_cookie },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.client_cookie },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"scoring_penalty_relay_cluster",
|m: &CMsgSteamDatagramRouterPingReply| { &m.scoring_penalty_relay_cluster },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.scoring_penalty_relay_cluster },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"flags",
|m: &CMsgSteamDatagramRouterPingReply| { &m.flags },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.flags },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramRouterPingReply_RouteException>>(
"route_exceptions",
|m: &CMsgSteamDatagramRouterPingReply| { &m.route_exceptions },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.route_exceptions },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramRouterPingReply_AltAddress>>(
"alt_addresses",
|m: &CMsgSteamDatagramRouterPingReply| { &m.alt_addresses },
|m: &mut CMsgSteamDatagramRouterPingReply| { &mut m.alt_addresses },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramRouterPingReply>(
"CMsgSteamDatagramRouterPingReply",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramRouterPingReply {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramRouterPingReply> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramRouterPingReply::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramRouterPingReply {
fn clear(&mut self) {
self.client_timestamp = ::std::option::Option::None;
self.latency_datacenter_ids.clear();
self.latency_ping_ms.clear();
self.your_public_ip = ::std::option::Option::None;
self.your_public_port = ::std::option::Option::None;
self.server_time = ::std::option::Option::None;
self.challenge = ::std::option::Option::None;
self.seconds_until_shutdown = ::std::option::Option::None;
self.client_cookie = ::std::option::Option::None;
self.scoring_penalty_relay_cluster = ::std::option::Option::None;
self.flags = ::std::option::Option::None;
self.route_exceptions.clear();
self.alt_addresses.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramRouterPingReply {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramRouterPingReply {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramRouterPingReply_RouteException {
data_center_id: ::std::option::Option<u32>,
flags: ::std::option::Option<u32>,
penalty: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramRouterPingReply_RouteException {
fn default() -> &'a CMsgSteamDatagramRouterPingReply_RouteException {
<CMsgSteamDatagramRouterPingReply_RouteException as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramRouterPingReply_RouteException {
pub fn new() -> CMsgSteamDatagramRouterPingReply_RouteException {
::std::default::Default::default()
}
pub fn get_data_center_id(&self) -> u32 {
self.data_center_id.unwrap_or(0)
}
pub fn clear_data_center_id(&mut self) {
self.data_center_id = ::std::option::Option::None;
}
pub fn has_data_center_id(&self) -> bool {
self.data_center_id.is_some()
}
pub fn set_data_center_id(&mut self, v: u32) {
self.data_center_id = ::std::option::Option::Some(v);
}
pub fn get_flags(&self) -> u32 {
self.flags.unwrap_or(0)
}
pub fn clear_flags(&mut self) {
self.flags = ::std::option::Option::None;
}
pub fn has_flags(&self) -> bool {
self.flags.is_some()
}
pub fn set_flags(&mut self, v: u32) {
self.flags = ::std::option::Option::Some(v);
}
pub fn get_penalty(&self) -> u32 {
self.penalty.unwrap_or(0)
}
pub fn clear_penalty(&mut self) {
self.penalty = ::std::option::Option::None;
}
pub fn has_penalty(&self) -> bool {
self.penalty.is_some()
}
pub fn set_penalty(&mut self, v: u32) {
self.penalty = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramRouterPingReply_RouteException {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.data_center_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.flags = ::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_uint32()?;
self.penalty = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.data_center_id {
my_size += 5;
}
if let Some(v) = self.flags {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.penalty {
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.data_center_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.flags {
os.write_uint32(2, v)?;
}
if let Some(v) = self.penalty {
os.write_uint32(3, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramRouterPingReply_RouteException {
CMsgSteamDatagramRouterPingReply_RouteException::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"data_center_id",
|m: &CMsgSteamDatagramRouterPingReply_RouteException| { &m.data_center_id },
|m: &mut CMsgSteamDatagramRouterPingReply_RouteException| { &mut m.data_center_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"flags",
|m: &CMsgSteamDatagramRouterPingReply_RouteException| { &m.flags },
|m: &mut CMsgSteamDatagramRouterPingReply_RouteException| { &mut m.flags },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"penalty",
|m: &CMsgSteamDatagramRouterPingReply_RouteException| { &m.penalty },
|m: &mut CMsgSteamDatagramRouterPingReply_RouteException| { &mut m.penalty },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramRouterPingReply_RouteException>(
"CMsgSteamDatagramRouterPingReply.RouteException",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramRouterPingReply_RouteException {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramRouterPingReply_RouteException> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramRouterPingReply_RouteException::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramRouterPingReply_RouteException {
fn clear(&mut self) {
self.data_center_id = ::std::option::Option::None;
self.flags = ::std::option::Option::None;
self.penalty = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramRouterPingReply_RouteException {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramRouterPingReply_RouteException {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramRouterPingReply_AltAddress {
ipv4: ::std::option::Option<u32>,
port: ::std::option::Option<u32>,
penalty: ::std::option::Option<u32>,
protocol: ::std::option::Option<CMsgSteamDatagramRouterPingReply_AltAddress_Protocol>,
id: ::protobuf::SingularField<::std::string::String>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramRouterPingReply_AltAddress {
fn default() -> &'a CMsgSteamDatagramRouterPingReply_AltAddress {
<CMsgSteamDatagramRouterPingReply_AltAddress as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramRouterPingReply_AltAddress {
pub fn new() -> CMsgSteamDatagramRouterPingReply_AltAddress {
::std::default::Default::default()
}
pub fn get_ipv4(&self) -> u32 {
self.ipv4.unwrap_or(0)
}
pub fn clear_ipv4(&mut self) {
self.ipv4 = ::std::option::Option::None;
}
pub fn has_ipv4(&self) -> bool {
self.ipv4.is_some()
}
pub fn set_ipv4(&mut self, v: u32) {
self.ipv4 = ::std::option::Option::Some(v);
}
pub fn get_port(&self) -> u32 {
self.port.unwrap_or(0)
}
pub fn clear_port(&mut self) {
self.port = ::std::option::Option::None;
}
pub fn has_port(&self) -> bool {
self.port.is_some()
}
pub fn set_port(&mut self, v: u32) {
self.port = ::std::option::Option::Some(v);
}
pub fn get_penalty(&self) -> u32 {
self.penalty.unwrap_or(0)
}
pub fn clear_penalty(&mut self) {
self.penalty = ::std::option::Option::None;
}
pub fn has_penalty(&self) -> bool {
self.penalty.is_some()
}
pub fn set_penalty(&mut self, v: u32) {
self.penalty = ::std::option::Option::Some(v);
}
pub fn get_protocol(&self) -> CMsgSteamDatagramRouterPingReply_AltAddress_Protocol {
self.protocol.unwrap_or(CMsgSteamDatagramRouterPingReply_AltAddress_Protocol::DefaultProtocol)
}
pub fn clear_protocol(&mut self) {
self.protocol = ::std::option::Option::None;
}
pub fn has_protocol(&self) -> bool {
self.protocol.is_some()
}
pub fn set_protocol(&mut self, v: CMsgSteamDatagramRouterPingReply_AltAddress_Protocol) {
self.protocol = ::std::option::Option::Some(v);
}
pub fn get_id(&self) -> &str {
match self.id.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_id(&mut self) {
self.id.clear();
}
pub fn has_id(&self) -> bool {
self.id.is_some()
}
pub fn set_id(&mut self, v: ::std::string::String) {
self.id = ::protobuf::SingularField::some(v);
}
pub fn mut_id(&mut self) -> &mut ::std::string::String {
if self.id.is_none() {
self.id.set_default();
}
self.id.as_mut().unwrap()
}
pub fn take_id(&mut self) -> ::std::string::String {
self.id.take().unwrap_or_else(|| ::std::string::String::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramRouterPingReply_AltAddress {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.ipv4 = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.port = ::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_uint32()?;
self.penalty = ::std::option::Option::Some(tmp);
},
4 => {
::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.protocol, 4, &mut self.unknown_fields)?
},
5 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.id)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.ipv4 {
my_size += 5;
}
if let Some(v) = self.port {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.penalty {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.protocol {
my_size += ::protobuf::rt::enum_size(4, v);
}
if let Some(ref v) = self.id.as_ref() {
my_size += ::protobuf::rt::string_size(5, &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(v) = self.ipv4 {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.port {
os.write_uint32(2, v)?;
}
if let Some(v) = self.penalty {
os.write_uint32(3, v)?;
}
if let Some(v) = self.protocol {
os.write_enum(4, ::protobuf::ProtobufEnum::value(&v))?;
}
if let Some(ref v) = self.id.as_ref() {
os.write_string(5, &v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramRouterPingReply_AltAddress {
CMsgSteamDatagramRouterPingReply_AltAddress::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"ipv4",
|m: &CMsgSteamDatagramRouterPingReply_AltAddress| { &m.ipv4 },
|m: &mut CMsgSteamDatagramRouterPingReply_AltAddress| { &mut m.ipv4 },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"port",
|m: &CMsgSteamDatagramRouterPingReply_AltAddress| { &m.port },
|m: &mut CMsgSteamDatagramRouterPingReply_AltAddress| { &mut m.port },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"penalty",
|m: &CMsgSteamDatagramRouterPingReply_AltAddress| { &m.penalty },
|m: &mut CMsgSteamDatagramRouterPingReply_AltAddress| { &mut m.penalty },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<CMsgSteamDatagramRouterPingReply_AltAddress_Protocol>>(
"protocol",
|m: &CMsgSteamDatagramRouterPingReply_AltAddress| { &m.protocol },
|m: &mut CMsgSteamDatagramRouterPingReply_AltAddress| { &mut m.protocol },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"id",
|m: &CMsgSteamDatagramRouterPingReply_AltAddress| { &m.id },
|m: &mut CMsgSteamDatagramRouterPingReply_AltAddress| { &mut m.id },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramRouterPingReply_AltAddress>(
"CMsgSteamDatagramRouterPingReply.AltAddress",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramRouterPingReply_AltAddress {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramRouterPingReply_AltAddress> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramRouterPingReply_AltAddress::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramRouterPingReply_AltAddress {
fn clear(&mut self) {
self.ipv4 = ::std::option::Option::None;
self.port = ::std::option::Option::None;
self.penalty = ::std::option::Option::None;
self.protocol = ::std::option::Option::None;
self.id.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramRouterPingReply_AltAddress {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramRouterPingReply_AltAddress {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum CMsgSteamDatagramRouterPingReply_AltAddress_Protocol {
DefaultProtocol = 0,
NetworkNext = 1,
}
impl ::protobuf::ProtobufEnum for CMsgSteamDatagramRouterPingReply_AltAddress_Protocol {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<CMsgSteamDatagramRouterPingReply_AltAddress_Protocol> {
match value {
0 => ::std::option::Option::Some(CMsgSteamDatagramRouterPingReply_AltAddress_Protocol::DefaultProtocol),
1 => ::std::option::Option::Some(CMsgSteamDatagramRouterPingReply_AltAddress_Protocol::NetworkNext),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [CMsgSteamDatagramRouterPingReply_AltAddress_Protocol] = &[
CMsgSteamDatagramRouterPingReply_AltAddress_Protocol::DefaultProtocol,
CMsgSteamDatagramRouterPingReply_AltAddress_Protocol::NetworkNext,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<CMsgSteamDatagramRouterPingReply_AltAddress_Protocol>("CMsgSteamDatagramRouterPingReply.AltAddress.Protocol", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for CMsgSteamDatagramRouterPingReply_AltAddress_Protocol {
}
impl ::std::default::Default for CMsgSteamDatagramRouterPingReply_AltAddress_Protocol {
fn default() -> Self {
CMsgSteamDatagramRouterPingReply_AltAddress_Protocol::DefaultProtocol
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramRouterPingReply_AltAddress_Protocol {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum CMsgSteamDatagramRouterPingReply_Flags {
FLAG_MAYBE_MORE_DATA_CENTERS = 1,
FLAG_MAYBE_MORE_ALT_ADDRESSES = 2,
}
impl ::protobuf::ProtobufEnum for CMsgSteamDatagramRouterPingReply_Flags {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<CMsgSteamDatagramRouterPingReply_Flags> {
match value {
1 => ::std::option::Option::Some(CMsgSteamDatagramRouterPingReply_Flags::FLAG_MAYBE_MORE_DATA_CENTERS),
2 => ::std::option::Option::Some(CMsgSteamDatagramRouterPingReply_Flags::FLAG_MAYBE_MORE_ALT_ADDRESSES),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [CMsgSteamDatagramRouterPingReply_Flags] = &[
CMsgSteamDatagramRouterPingReply_Flags::FLAG_MAYBE_MORE_DATA_CENTERS,
CMsgSteamDatagramRouterPingReply_Flags::FLAG_MAYBE_MORE_ALT_ADDRESSES,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<CMsgSteamDatagramRouterPingReply_Flags>("CMsgSteamDatagramRouterPingReply.Flags", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for CMsgSteamDatagramRouterPingReply_Flags {
}
impl ::std::default::Default for CMsgSteamDatagramRouterPingReply_Flags {
fn default() -> Self {
CMsgSteamDatagramRouterPingReply_Flags::FLAG_MAYBE_MORE_DATA_CENTERS
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramRouterPingReply_Flags {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramGameserverPingRequest {
your_public_ip: ::std::option::Option<u32>,
your_public_port: ::std::option::Option<u32>,
server_time: ::std::option::Option<u32>,
challenge: ::std::option::Option<u64>,
router_timestamp: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramGameserverPingRequest {
fn default() -> &'a CMsgSteamDatagramGameserverPingRequest {
<CMsgSteamDatagramGameserverPingRequest as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramGameserverPingRequest {
pub fn new() -> CMsgSteamDatagramGameserverPingRequest {
::std::default::Default::default()
}
pub fn get_your_public_ip(&self) -> u32 {
self.your_public_ip.unwrap_or(0)
}
pub fn clear_your_public_ip(&mut self) {
self.your_public_ip = ::std::option::Option::None;
}
pub fn has_your_public_ip(&self) -> bool {
self.your_public_ip.is_some()
}
pub fn set_your_public_ip(&mut self, v: u32) {
self.your_public_ip = ::std::option::Option::Some(v);
}
pub fn get_your_public_port(&self) -> u32 {
self.your_public_port.unwrap_or(0)
}
pub fn clear_your_public_port(&mut self) {
self.your_public_port = ::std::option::Option::None;
}
pub fn has_your_public_port(&self) -> bool {
self.your_public_port.is_some()
}
pub fn set_your_public_port(&mut self, v: u32) {
self.your_public_port = ::std::option::Option::Some(v);
}
pub fn get_server_time(&self) -> u32 {
self.server_time.unwrap_or(0)
}
pub fn clear_server_time(&mut self) {
self.server_time = ::std::option::Option::None;
}
pub fn has_server_time(&self) -> bool {
self.server_time.is_some()
}
pub fn set_server_time(&mut self, v: u32) {
self.server_time = ::std::option::Option::Some(v);
}
pub fn get_challenge(&self) -> u64 {
self.challenge.unwrap_or(0)
}
pub fn clear_challenge(&mut self) {
self.challenge = ::std::option::Option::None;
}
pub fn has_challenge(&self) -> bool {
self.challenge.is_some()
}
pub fn set_challenge(&mut self, v: u64) {
self.challenge = ::std::option::Option::Some(v);
}
pub fn get_router_timestamp(&self) -> u32 {
self.router_timestamp.unwrap_or(0)
}
pub fn clear_router_timestamp(&mut self) {
self.router_timestamp = ::std::option::Option::None;
}
pub fn has_router_timestamp(&self) -> bool {
self.router_timestamp.is_some()
}
pub fn set_router_timestamp(&mut self, v: u32) {
self.router_timestamp = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramGameserverPingRequest {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.your_public_ip = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.your_public_port = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.server_time = ::std::option::Option::Some(tmp);
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.challenge = ::std::option::Option::Some(tmp);
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.router_timestamp = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.your_public_ip {
my_size += 5;
}
if let Some(v) = self.your_public_port {
my_size += 5;
}
if let Some(v) = self.server_time {
my_size += 5;
}
if let Some(v) = self.challenge {
my_size += 9;
}
if let Some(v) = self.router_timestamp {
my_size += 5;
}
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.your_public_ip {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.your_public_port {
os.write_fixed32(5, v)?;
}
if let Some(v) = self.server_time {
os.write_fixed32(2, v)?;
}
if let Some(v) = self.challenge {
os.write_fixed64(3, v)?;
}
if let Some(v) = self.router_timestamp {
os.write_fixed32(4, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramGameserverPingRequest {
CMsgSteamDatagramGameserverPingRequest::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"your_public_ip",
|m: &CMsgSteamDatagramGameserverPingRequest| { &m.your_public_ip },
|m: &mut CMsgSteamDatagramGameserverPingRequest| { &mut m.your_public_ip },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"your_public_port",
|m: &CMsgSteamDatagramGameserverPingRequest| { &m.your_public_port },
|m: &mut CMsgSteamDatagramGameserverPingRequest| { &mut m.your_public_port },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"server_time",
|m: &CMsgSteamDatagramGameserverPingRequest| { &m.server_time },
|m: &mut CMsgSteamDatagramGameserverPingRequest| { &mut m.server_time },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"challenge",
|m: &CMsgSteamDatagramGameserverPingRequest| { &m.challenge },
|m: &mut CMsgSteamDatagramGameserverPingRequest| { &mut m.challenge },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"router_timestamp",
|m: &CMsgSteamDatagramGameserverPingRequest| { &m.router_timestamp },
|m: &mut CMsgSteamDatagramGameserverPingRequest| { &mut m.router_timestamp },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramGameserverPingRequest>(
"CMsgSteamDatagramGameserverPingRequest",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramGameserverPingRequest {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramGameserverPingRequest> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramGameserverPingRequest::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramGameserverPingRequest {
fn clear(&mut self) {
self.your_public_ip = ::std::option::Option::None;
self.your_public_port = ::std::option::Option::None;
self.server_time = ::std::option::Option::None;
self.challenge = ::std::option::Option::None;
self.router_timestamp = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramGameserverPingRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramGameserverPingRequest {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramLegacyGameserverPingReply {
router_timestamp: ::std::option::Option<u32>,
dummy_pad: ::std::option::Option<u64>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramLegacyGameserverPingReply {
fn default() -> &'a CMsgSteamDatagramLegacyGameserverPingReply {
<CMsgSteamDatagramLegacyGameserverPingReply as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramLegacyGameserverPingReply {
pub fn new() -> CMsgSteamDatagramLegacyGameserverPingReply {
::std::default::Default::default()
}
pub fn get_router_timestamp(&self) -> u32 {
self.router_timestamp.unwrap_or(0)
}
pub fn clear_router_timestamp(&mut self) {
self.router_timestamp = ::std::option::Option::None;
}
pub fn has_router_timestamp(&self) -> bool {
self.router_timestamp.is_some()
}
pub fn set_router_timestamp(&mut self, v: u32) {
self.router_timestamp = ::std::option::Option::Some(v);
}
pub fn get_dummy_pad(&self) -> u64 {
self.dummy_pad.unwrap_or(0)
}
pub fn clear_dummy_pad(&mut self) {
self.dummy_pad = ::std::option::Option::None;
}
pub fn has_dummy_pad(&self) -> bool {
self.dummy_pad.is_some()
}
pub fn set_dummy_pad(&mut self, v: u64) {
self.dummy_pad = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramLegacyGameserverPingReply {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.router_timestamp = ::std::option::Option::Some(tmp);
},
99 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.dummy_pad = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.router_timestamp {
my_size += 5;
}
if let Some(v) = self.dummy_pad {
my_size += 10;
}
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.router_timestamp {
os.write_fixed32(4, v)?;
}
if let Some(v) = self.dummy_pad {
os.write_fixed64(99, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramLegacyGameserverPingReply {
CMsgSteamDatagramLegacyGameserverPingReply::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"router_timestamp",
|m: &CMsgSteamDatagramLegacyGameserverPingReply| { &m.router_timestamp },
|m: &mut CMsgSteamDatagramLegacyGameserverPingReply| { &mut m.router_timestamp },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"dummy_pad",
|m: &CMsgSteamDatagramLegacyGameserverPingReply| { &m.dummy_pad },
|m: &mut CMsgSteamDatagramLegacyGameserverPingReply| { &mut m.dummy_pad },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramLegacyGameserverPingReply>(
"CMsgSteamDatagramLegacyGameserverPingReply",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramLegacyGameserverPingReply {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramLegacyGameserverPingReply> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramLegacyGameserverPingReply::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramLegacyGameserverPingReply {
fn clear(&mut self) {
self.router_timestamp = ::std::option::Option::None;
self.dummy_pad = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramLegacyGameserverPingReply {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramLegacyGameserverPingReply {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramGameserverPingReply {
pub cert: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned>,
signed_data: ::protobuf::SingularField<::std::vec::Vec<u8>>,
signature: ::protobuf::SingularField<::std::vec::Vec<u8>>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramGameserverPingReply {
fn default() -> &'a CMsgSteamDatagramGameserverPingReply {
<CMsgSteamDatagramGameserverPingReply as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramGameserverPingReply {
pub fn new() -> CMsgSteamDatagramGameserverPingReply {
::std::default::Default::default()
}
pub fn get_cert(&self) -> &super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
self.cert.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned as ::protobuf::Message>::default_instance())
}
pub fn clear_cert(&mut self) {
self.cert.clear();
}
pub fn has_cert(&self) -> bool {
self.cert.is_some()
}
pub fn set_cert(&mut self, v: super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned) {
self.cert = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_cert(&mut self) -> &mut super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
if self.cert.is_none() {
self.cert.set_default();
}
self.cert.as_mut().unwrap()
}
pub fn take_cert(&mut self) -> super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
self.cert.take().unwrap_or_else(|| super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned::new())
}
pub fn get_signed_data(&self) -> &[u8] {
match self.signed_data.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_signed_data(&mut self) {
self.signed_data.clear();
}
pub fn has_signed_data(&self) -> bool {
self.signed_data.is_some()
}
pub fn set_signed_data(&mut self, v: ::std::vec::Vec<u8>) {
self.signed_data = ::protobuf::SingularField::some(v);
}
pub fn mut_signed_data(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.signed_data.is_none() {
self.signed_data.set_default();
}
self.signed_data.as_mut().unwrap()
}
pub fn take_signed_data(&mut self) -> ::std::vec::Vec<u8> {
self.signed_data.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_signature(&self) -> &[u8] {
match self.signature.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_signature(&mut self) {
self.signature.clear();
}
pub fn has_signature(&self) -> bool {
self.signature.is_some()
}
pub fn set_signature(&mut self, v: ::std::vec::Vec<u8>) {
self.signature = ::protobuf::SingularField::some(v);
}
pub fn mut_signature(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.signature.is_none() {
self.signature.set_default();
}
self.signature.as_mut().unwrap()
}
pub fn take_signature(&mut self) -> ::std::vec::Vec<u8> {
self.signature.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramGameserverPingReply {
fn is_initialized(&self) -> bool {
for v in &self.cert {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cert)?;
},
2 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.signed_data)?;
},
3 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.signature)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.cert.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.signed_data.as_ref() {
my_size += ::protobuf::rt::bytes_size(2, &v);
}
if let Some(ref v) = self.signature.as_ref() {
my_size += ::protobuf::rt::bytes_size(3, &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.cert.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.signed_data.as_ref() {
os.write_bytes(2, &v)?;
}
if let Some(ref v) = self.signature.as_ref() {
os.write_bytes(3, &v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramGameserverPingReply {
CMsgSteamDatagramGameserverPingReply::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned>>(
"cert",
|m: &CMsgSteamDatagramGameserverPingReply| { &m.cert },
|m: &mut CMsgSteamDatagramGameserverPingReply| { &mut m.cert },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"signed_data",
|m: &CMsgSteamDatagramGameserverPingReply| { &m.signed_data },
|m: &mut CMsgSteamDatagramGameserverPingReply| { &mut m.signed_data },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"signature",
|m: &CMsgSteamDatagramGameserverPingReply| { &m.signature },
|m: &mut CMsgSteamDatagramGameserverPingReply| { &mut m.signature },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramGameserverPingReply>(
"CMsgSteamDatagramGameserverPingReply",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramGameserverPingReply {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramGameserverPingReply> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramGameserverPingReply::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramGameserverPingReply {
fn clear(&mut self) {
self.cert.clear();
self.signed_data.clear();
self.signature.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramGameserverPingReply {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramGameserverPingReply {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramGameserverPingReply_SignedData {
challenge_time: ::std::option::Option<u32>,
challenge: ::std::option::Option<u64>,
router_timestamp: ::std::option::Option<u32>,
data_center_id: ::std::option::Option<u32>,
appid: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramGameserverPingReply_SignedData {
fn default() -> &'a CMsgSteamDatagramGameserverPingReply_SignedData {
<CMsgSteamDatagramGameserverPingReply_SignedData as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramGameserverPingReply_SignedData {
pub fn new() -> CMsgSteamDatagramGameserverPingReply_SignedData {
::std::default::Default::default()
}
pub fn get_challenge_time(&self) -> u32 {
self.challenge_time.unwrap_or(0)
}
pub fn clear_challenge_time(&mut self) {
self.challenge_time = ::std::option::Option::None;
}
pub fn has_challenge_time(&self) -> bool {
self.challenge_time.is_some()
}
pub fn set_challenge_time(&mut self, v: u32) {
self.challenge_time = ::std::option::Option::Some(v);
}
pub fn get_challenge(&self) -> u64 {
self.challenge.unwrap_or(0)
}
pub fn clear_challenge(&mut self) {
self.challenge = ::std::option::Option::None;
}
pub fn has_challenge(&self) -> bool {
self.challenge.is_some()
}
pub fn set_challenge(&mut self, v: u64) {
self.challenge = ::std::option::Option::Some(v);
}
pub fn get_router_timestamp(&self) -> u32 {
self.router_timestamp.unwrap_or(0)
}
pub fn clear_router_timestamp(&mut self) {
self.router_timestamp = ::std::option::Option::None;
}
pub fn has_router_timestamp(&self) -> bool {
self.router_timestamp.is_some()
}
pub fn set_router_timestamp(&mut self, v: u32) {
self.router_timestamp = ::std::option::Option::Some(v);
}
pub fn get_data_center_id(&self) -> u32 {
self.data_center_id.unwrap_or(0)
}
pub fn clear_data_center_id(&mut self) {
self.data_center_id = ::std::option::Option::None;
}
pub fn has_data_center_id(&self) -> bool {
self.data_center_id.is_some()
}
pub fn set_data_center_id(&mut self, v: u32) {
self.data_center_id = ::std::option::Option::Some(v);
}
pub fn get_appid(&self) -> u32 {
self.appid.unwrap_or(0)
}
pub fn clear_appid(&mut self) {
self.appid = ::std::option::Option::None;
}
pub fn has_appid(&self) -> bool {
self.appid.is_some()
}
pub fn set_appid(&mut self, v: u32) {
self.appid = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramGameserverPingReply_SignedData {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.challenge_time = ::std::option::Option::Some(tmp);
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.challenge = ::std::option::Option::Some(tmp);
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.router_timestamp = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.data_center_id = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.appid = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.challenge_time {
my_size += 5;
}
if let Some(v) = self.challenge {
my_size += 9;
}
if let Some(v) = self.router_timestamp {
my_size += 5;
}
if let Some(v) = self.data_center_id {
my_size += 5;
}
if let Some(v) = self.appid {
my_size += ::protobuf::rt::value_size(6, 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.challenge_time {
os.write_fixed32(2, v)?;
}
if let Some(v) = self.challenge {
os.write_fixed64(3, v)?;
}
if let Some(v) = self.router_timestamp {
os.write_fixed32(4, v)?;
}
if let Some(v) = self.data_center_id {
os.write_fixed32(5, v)?;
}
if let Some(v) = self.appid {
os.write_uint32(6, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramGameserverPingReply_SignedData {
CMsgSteamDatagramGameserverPingReply_SignedData::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"challenge_time",
|m: &CMsgSteamDatagramGameserverPingReply_SignedData| { &m.challenge_time },
|m: &mut CMsgSteamDatagramGameserverPingReply_SignedData| { &mut m.challenge_time },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"challenge",
|m: &CMsgSteamDatagramGameserverPingReply_SignedData| { &m.challenge },
|m: &mut CMsgSteamDatagramGameserverPingReply_SignedData| { &mut m.challenge },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"router_timestamp",
|m: &CMsgSteamDatagramGameserverPingReply_SignedData| { &m.router_timestamp },
|m: &mut CMsgSteamDatagramGameserverPingReply_SignedData| { &mut m.router_timestamp },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"data_center_id",
|m: &CMsgSteamDatagramGameserverPingReply_SignedData| { &m.data_center_id },
|m: &mut CMsgSteamDatagramGameserverPingReply_SignedData| { &mut m.data_center_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"appid",
|m: &CMsgSteamDatagramGameserverPingReply_SignedData| { &m.appid },
|m: &mut CMsgSteamDatagramGameserverPingReply_SignedData| { &mut m.appid },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramGameserverPingReply_SignedData>(
"CMsgSteamDatagramGameserverPingReply.SignedData",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramGameserverPingReply_SignedData {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramGameserverPingReply_SignedData> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramGameserverPingReply_SignedData::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramGameserverPingReply_SignedData {
fn clear(&mut self) {
self.challenge_time = ::std::option::Option::None;
self.challenge = ::std::option::Option::None;
self.router_timestamp = ::std::option::Option::None;
self.data_center_id = ::std::option::Option::None;
self.appid = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramGameserverPingReply_SignedData {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramGameserverPingReply_SignedData {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramNoSessionRelayToClient {
connection_id: ::std::option::Option<u32>,
your_public_ip: ::std::option::Option<u32>,
your_public_port: ::std::option::Option<u32>,
server_time: ::std::option::Option<u32>,
challenge: ::std::option::Option<u64>,
seconds_until_shutdown: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramNoSessionRelayToClient {
fn default() -> &'a CMsgSteamDatagramNoSessionRelayToClient {
<CMsgSteamDatagramNoSessionRelayToClient as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramNoSessionRelayToClient {
pub fn new() -> CMsgSteamDatagramNoSessionRelayToClient {
::std::default::Default::default()
}
pub fn get_connection_id(&self) -> u32 {
self.connection_id.unwrap_or(0)
}
pub fn clear_connection_id(&mut self) {
self.connection_id = ::std::option::Option::None;
}
pub fn has_connection_id(&self) -> bool {
self.connection_id.is_some()
}
pub fn set_connection_id(&mut self, v: u32) {
self.connection_id = ::std::option::Option::Some(v);
}
pub fn get_your_public_ip(&self) -> u32 {
self.your_public_ip.unwrap_or(0)
}
pub fn clear_your_public_ip(&mut self) {
self.your_public_ip = ::std::option::Option::None;
}
pub fn has_your_public_ip(&self) -> bool {
self.your_public_ip.is_some()
}
pub fn set_your_public_ip(&mut self, v: u32) {
self.your_public_ip = ::std::option::Option::Some(v);
}
pub fn get_your_public_port(&self) -> u32 {
self.your_public_port.unwrap_or(0)
}
pub fn clear_your_public_port(&mut self) {
self.your_public_port = ::std::option::Option::None;
}
pub fn has_your_public_port(&self) -> bool {
self.your_public_port.is_some()
}
pub fn set_your_public_port(&mut self, v: u32) {
self.your_public_port = ::std::option::Option::Some(v);
}
pub fn get_server_time(&self) -> u32 {
self.server_time.unwrap_or(0)
}
pub fn clear_server_time(&mut self) {
self.server_time = ::std::option::Option::None;
}
pub fn has_server_time(&self) -> bool {
self.server_time.is_some()
}
pub fn set_server_time(&mut self, v: u32) {
self.server_time = ::std::option::Option::Some(v);
}
pub fn get_challenge(&self) -> u64 {
self.challenge.unwrap_or(0)
}
pub fn clear_challenge(&mut self) {
self.challenge = ::std::option::Option::None;
}
pub fn has_challenge(&self) -> bool {
self.challenge.is_some()
}
pub fn set_challenge(&mut self, v: u64) {
self.challenge = ::std::option::Option::Some(v);
}
pub fn get_seconds_until_shutdown(&self) -> u32 {
self.seconds_until_shutdown.unwrap_or(0)
}
pub fn clear_seconds_until_shutdown(&mut self) {
self.seconds_until_shutdown = ::std::option::Option::None;
}
pub fn has_seconds_until_shutdown(&self) -> bool {
self.seconds_until_shutdown.is_some()
}
pub fn set_seconds_until_shutdown(&mut self, v: u32) {
self.seconds_until_shutdown = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramNoSessionRelayToClient {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
7 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.connection_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.your_public_ip = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.your_public_port = ::std::option::Option::Some(tmp);
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.server_time = ::std::option::Option::Some(tmp);
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.challenge = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seconds_until_shutdown = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.connection_id {
my_size += 5;
}
if let Some(v) = self.your_public_ip {
my_size += 5;
}
if let Some(v) = self.your_public_port {
my_size += 5;
}
if let Some(v) = self.server_time {
my_size += 5;
}
if let Some(v) = self.challenge {
my_size += 9;
}
if let Some(v) = self.seconds_until_shutdown {
my_size += ::protobuf::rt::value_size(5, 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.connection_id {
os.write_fixed32(7, v)?;
}
if let Some(v) = self.your_public_ip {
os.write_fixed32(2, v)?;
}
if let Some(v) = self.your_public_port {
os.write_fixed32(6, v)?;
}
if let Some(v) = self.server_time {
os.write_fixed32(3, v)?;
}
if let Some(v) = self.challenge {
os.write_fixed64(4, v)?;
}
if let Some(v) = self.seconds_until_shutdown {
os.write_uint32(5, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramNoSessionRelayToClient {
CMsgSteamDatagramNoSessionRelayToClient::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"connection_id",
|m: &CMsgSteamDatagramNoSessionRelayToClient| { &m.connection_id },
|m: &mut CMsgSteamDatagramNoSessionRelayToClient| { &mut m.connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"your_public_ip",
|m: &CMsgSteamDatagramNoSessionRelayToClient| { &m.your_public_ip },
|m: &mut CMsgSteamDatagramNoSessionRelayToClient| { &mut m.your_public_ip },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"your_public_port",
|m: &CMsgSteamDatagramNoSessionRelayToClient| { &m.your_public_port },
|m: &mut CMsgSteamDatagramNoSessionRelayToClient| { &mut m.your_public_port },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"server_time",
|m: &CMsgSteamDatagramNoSessionRelayToClient| { &m.server_time },
|m: &mut CMsgSteamDatagramNoSessionRelayToClient| { &mut m.server_time },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"challenge",
|m: &CMsgSteamDatagramNoSessionRelayToClient| { &m.challenge },
|m: &mut CMsgSteamDatagramNoSessionRelayToClient| { &mut m.challenge },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seconds_until_shutdown",
|m: &CMsgSteamDatagramNoSessionRelayToClient| { &m.seconds_until_shutdown },
|m: &mut CMsgSteamDatagramNoSessionRelayToClient| { &mut m.seconds_until_shutdown },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramNoSessionRelayToClient>(
"CMsgSteamDatagramNoSessionRelayToClient",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramNoSessionRelayToClient {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramNoSessionRelayToClient> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramNoSessionRelayToClient::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramNoSessionRelayToClient {
fn clear(&mut self) {
self.connection_id = ::std::option::Option::None;
self.your_public_ip = ::std::option::Option::None;
self.your_public_port = ::std::option::Option::None;
self.server_time = ::std::option::Option::None;
self.challenge = ::std::option::Option::None;
self.seconds_until_shutdown = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramNoSessionRelayToClient {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramNoSessionRelayToClient {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramNoSessionRelayToPeer {
legacy_relay_session_id: ::std::option::Option<u32>,
from_relay_session_id: ::std::option::Option<u32>,
from_connection_id: ::std::option::Option<u32>,
kludge_pad: ::std::option::Option<u64>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramNoSessionRelayToPeer {
fn default() -> &'a CMsgSteamDatagramNoSessionRelayToPeer {
<CMsgSteamDatagramNoSessionRelayToPeer as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramNoSessionRelayToPeer {
pub fn new() -> CMsgSteamDatagramNoSessionRelayToPeer {
::std::default::Default::default()
}
pub fn get_legacy_relay_session_id(&self) -> u32 {
self.legacy_relay_session_id.unwrap_or(0)
}
pub fn clear_legacy_relay_session_id(&mut self) {
self.legacy_relay_session_id = ::std::option::Option::None;
}
pub fn has_legacy_relay_session_id(&self) -> bool {
self.legacy_relay_session_id.is_some()
}
pub fn set_legacy_relay_session_id(&mut self, v: u32) {
self.legacy_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_from_relay_session_id(&self) -> u32 {
self.from_relay_session_id.unwrap_or(0)
}
pub fn clear_from_relay_session_id(&mut self) {
self.from_relay_session_id = ::std::option::Option::None;
}
pub fn has_from_relay_session_id(&self) -> bool {
self.from_relay_session_id.is_some()
}
pub fn set_from_relay_session_id(&mut self, v: u32) {
self.from_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_from_connection_id(&self) -> u32 {
self.from_connection_id.unwrap_or(0)
}
pub fn clear_from_connection_id(&mut self) {
self.from_connection_id = ::std::option::Option::None;
}
pub fn has_from_connection_id(&self) -> bool {
self.from_connection_id.is_some()
}
pub fn set_from_connection_id(&mut self, v: u32) {
self.from_connection_id = ::std::option::Option::Some(v);
}
pub fn get_kludge_pad(&self) -> u64 {
self.kludge_pad.unwrap_or(0)
}
pub fn clear_kludge_pad(&mut self) {
self.kludge_pad = ::std::option::Option::None;
}
pub fn has_kludge_pad(&self) -> bool {
self.kludge_pad.is_some()
}
pub fn set_kludge_pad(&mut self, v: u64) {
self.kludge_pad = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramNoSessionRelayToPeer {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.legacy_relay_session_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.from_relay_session_id = ::std::option::Option::Some(tmp);
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.from_connection_id = ::std::option::Option::Some(tmp);
},
99 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.kludge_pad = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.legacy_relay_session_id {
my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.from_relay_session_id {
my_size += 5;
}
if let Some(v) = self.from_connection_id {
my_size += 5;
}
if let Some(v) = self.kludge_pad {
my_size += 10;
}
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.legacy_relay_session_id {
os.write_uint32(1, v)?;
}
if let Some(v) = self.from_relay_session_id {
os.write_fixed32(2, v)?;
}
if let Some(v) = self.from_connection_id {
os.write_fixed32(7, v)?;
}
if let Some(v) = self.kludge_pad {
os.write_fixed64(99, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramNoSessionRelayToPeer {
CMsgSteamDatagramNoSessionRelayToPeer::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"legacy_relay_session_id",
|m: &CMsgSteamDatagramNoSessionRelayToPeer| { &m.legacy_relay_session_id },
|m: &mut CMsgSteamDatagramNoSessionRelayToPeer| { &mut m.legacy_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"from_relay_session_id",
|m: &CMsgSteamDatagramNoSessionRelayToPeer| { &m.from_relay_session_id },
|m: &mut CMsgSteamDatagramNoSessionRelayToPeer| { &mut m.from_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"from_connection_id",
|m: &CMsgSteamDatagramNoSessionRelayToPeer| { &m.from_connection_id },
|m: &mut CMsgSteamDatagramNoSessionRelayToPeer| { &mut m.from_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"kludge_pad",
|m: &CMsgSteamDatagramNoSessionRelayToPeer| { &m.kludge_pad },
|m: &mut CMsgSteamDatagramNoSessionRelayToPeer| { &mut m.kludge_pad },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramNoSessionRelayToPeer>(
"CMsgSteamDatagramNoSessionRelayToPeer",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramNoSessionRelayToPeer {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramNoSessionRelayToPeer> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramNoSessionRelayToPeer::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramNoSessionRelayToPeer {
fn clear(&mut self) {
self.legacy_relay_session_id = ::std::option::Option::None;
self.from_relay_session_id = ::std::option::Option::None;
self.from_connection_id = ::std::option::Option::None;
self.kludge_pad = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramNoSessionRelayToPeer {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramNoSessionRelayToPeer {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramClientPingSampleRequest {
connection_id: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramClientPingSampleRequest {
fn default() -> &'a CMsgSteamDatagramClientPingSampleRequest {
<CMsgSteamDatagramClientPingSampleRequest as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramClientPingSampleRequest {
pub fn new() -> CMsgSteamDatagramClientPingSampleRequest {
::std::default::Default::default()
}
pub fn get_connection_id(&self) -> u32 {
self.connection_id.unwrap_or(0)
}
pub fn clear_connection_id(&mut self) {
self.connection_id = ::std::option::Option::None;
}
pub fn has_connection_id(&self) -> bool {
self.connection_id.is_some()
}
pub fn set_connection_id(&mut self, v: u32) {
self.connection_id = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramClientPingSampleRequest {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.connection_id = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.connection_id {
my_size += 5;
}
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.connection_id {
os.write_fixed32(1, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramClientPingSampleRequest {
CMsgSteamDatagramClientPingSampleRequest::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"connection_id",
|m: &CMsgSteamDatagramClientPingSampleRequest| { &m.connection_id },
|m: &mut CMsgSteamDatagramClientPingSampleRequest| { &mut m.connection_id },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramClientPingSampleRequest>(
"CMsgSteamDatagramClientPingSampleRequest",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramClientPingSampleRequest {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramClientPingSampleRequest> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramClientPingSampleRequest::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramClientPingSampleRequest {
fn clear(&mut self) {
self.connection_id = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramClientPingSampleRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramClientPingSampleRequest {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramClientPingSampleReply {
connection_id: ::std::option::Option<u32>,
override_active: ::std::option::Option<bool>,
pub pops: ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_POP>,
pub legacy_data_centers: ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramClientPingSampleReply {
fn default() -> &'a CMsgSteamDatagramClientPingSampleReply {
<CMsgSteamDatagramClientPingSampleReply as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramClientPingSampleReply {
pub fn new() -> CMsgSteamDatagramClientPingSampleReply {
::std::default::Default::default()
}
pub fn get_connection_id(&self) -> u32 {
self.connection_id.unwrap_or(0)
}
pub fn clear_connection_id(&mut self) {
self.connection_id = ::std::option::Option::None;
}
pub fn has_connection_id(&self) -> bool {
self.connection_id.is_some()
}
pub fn set_connection_id(&mut self, v: u32) {
self.connection_id = ::std::option::Option::Some(v);
}
pub fn get_override_active(&self) -> bool {
self.override_active.unwrap_or(false)
}
pub fn clear_override_active(&mut self) {
self.override_active = ::std::option::Option::None;
}
pub fn has_override_active(&self) -> bool {
self.override_active.is_some()
}
pub fn set_override_active(&mut self, v: bool) {
self.override_active = ::std::option::Option::Some(v);
}
pub fn get_pops(&self) -> &[CMsgSteamDatagramClientPingSampleReply_POP] {
&self.pops
}
pub fn clear_pops(&mut self) {
self.pops.clear();
}
pub fn set_pops(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_POP>) {
self.pops = v;
}
pub fn mut_pops(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_POP> {
&mut self.pops
}
pub fn take_pops(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_POP> {
::std::mem::replace(&mut self.pops, ::protobuf::RepeatedField::new())
}
pub fn get_legacy_data_centers(&self) -> &[CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter] {
&self.legacy_data_centers
}
pub fn clear_legacy_data_centers(&mut self) {
self.legacy_data_centers.clear();
}
pub fn set_legacy_data_centers(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter>) {
self.legacy_data_centers = v;
}
pub fn mut_legacy_data_centers(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter> {
&mut self.legacy_data_centers
}
pub fn take_legacy_data_centers(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter> {
::std::mem::replace(&mut self.legacy_data_centers, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramClientPingSampleReply {
fn is_initialized(&self) -> bool {
for v in &self.pops {
if !v.is_initialized() {
return false;
}
};
for v in &self.legacy_data_centers {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.connection_id = ::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_bool()?;
self.override_active = ::std::option::Option::Some(tmp);
},
2 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.pops)?;
},
3 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.legacy_data_centers)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.connection_id {
my_size += 5;
}
if let Some(v) = self.override_active {
my_size += 2;
}
for value in &self.pops {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.legacy_data_centers {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
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.connection_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.override_active {
os.write_bool(4, v)?;
}
for v in &self.pops {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.legacy_data_centers {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramClientPingSampleReply {
CMsgSteamDatagramClientPingSampleReply::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"connection_id",
|m: &CMsgSteamDatagramClientPingSampleReply| { &m.connection_id },
|m: &mut CMsgSteamDatagramClientPingSampleReply| { &mut m.connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"override_active",
|m: &CMsgSteamDatagramClientPingSampleReply| { &m.override_active },
|m: &mut CMsgSteamDatagramClientPingSampleReply| { &mut m.override_active },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramClientPingSampleReply_POP>>(
"pops",
|m: &CMsgSteamDatagramClientPingSampleReply| { &m.pops },
|m: &mut CMsgSteamDatagramClientPingSampleReply| { &mut m.pops },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter>>(
"legacy_data_centers",
|m: &CMsgSteamDatagramClientPingSampleReply| { &m.legacy_data_centers },
|m: &mut CMsgSteamDatagramClientPingSampleReply| { &mut m.legacy_data_centers },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramClientPingSampleReply>(
"CMsgSteamDatagramClientPingSampleReply",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramClientPingSampleReply {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramClientPingSampleReply> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramClientPingSampleReply::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramClientPingSampleReply {
fn clear(&mut self) {
self.connection_id = ::std::option::Option::None;
self.override_active = ::std::option::Option::None;
self.pops.clear();
self.legacy_data_centers.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramClientPingSampleReply {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramClientPingSampleReply {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramClientPingSampleReply_POP {
pop_id: ::std::option::Option<u32>,
default_front_ping_ms: ::std::option::Option<u32>,
cluster_penalty: ::std::option::Option<u32>,
pub alt_addresses: ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_POP_AltAddress>,
default_e2e_ping_ms: ::std::option::Option<u32>,
default_e2e_score: ::std::option::Option<u32>,
p2p_via_peer_relay_pop_id: ::std::option::Option<u32>,
best_dc_ping_ms: ::std::option::Option<u32>,
best_dc_score: ::std::option::Option<u32>,
best_dc_via_relay_pop_id: ::std::option::Option<u32>,
default_dc_ping_ms: ::std::option::Option<u32>,
default_dc_score: ::std::option::Option<u32>,
default_dc_via_relay_pop_id: ::std::option::Option<u32>,
test_dc_ping_ms: ::std::option::Option<u32>,
test_dc_score: ::std::option::Option<u32>,
test_dc_via_relay_pop_id: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramClientPingSampleReply_POP {
fn default() -> &'a CMsgSteamDatagramClientPingSampleReply_POP {
<CMsgSteamDatagramClientPingSampleReply_POP as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramClientPingSampleReply_POP {
pub fn new() -> CMsgSteamDatagramClientPingSampleReply_POP {
::std::default::Default::default()
}
pub fn get_pop_id(&self) -> u32 {
self.pop_id.unwrap_or(0)
}
pub fn clear_pop_id(&mut self) {
self.pop_id = ::std::option::Option::None;
}
pub fn has_pop_id(&self) -> bool {
self.pop_id.is_some()
}
pub fn set_pop_id(&mut self, v: u32) {
self.pop_id = ::std::option::Option::Some(v);
}
pub fn get_default_front_ping_ms(&self) -> u32 {
self.default_front_ping_ms.unwrap_or(0)
}
pub fn clear_default_front_ping_ms(&mut self) {
self.default_front_ping_ms = ::std::option::Option::None;
}
pub fn has_default_front_ping_ms(&self) -> bool {
self.default_front_ping_ms.is_some()
}
pub fn set_default_front_ping_ms(&mut self, v: u32) {
self.default_front_ping_ms = ::std::option::Option::Some(v);
}
pub fn get_cluster_penalty(&self) -> u32 {
self.cluster_penalty.unwrap_or(0)
}
pub fn clear_cluster_penalty(&mut self) {
self.cluster_penalty = ::std::option::Option::None;
}
pub fn has_cluster_penalty(&self) -> bool {
self.cluster_penalty.is_some()
}
pub fn set_cluster_penalty(&mut self, v: u32) {
self.cluster_penalty = ::std::option::Option::Some(v);
}
pub fn get_alt_addresses(&self) -> &[CMsgSteamDatagramClientPingSampleReply_POP_AltAddress] {
&self.alt_addresses
}
pub fn clear_alt_addresses(&mut self) {
self.alt_addresses.clear();
}
pub fn set_alt_addresses(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_POP_AltAddress>) {
self.alt_addresses = v;
}
pub fn mut_alt_addresses(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_POP_AltAddress> {
&mut self.alt_addresses
}
pub fn take_alt_addresses(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramClientPingSampleReply_POP_AltAddress> {
::std::mem::replace(&mut self.alt_addresses, ::protobuf::RepeatedField::new())
}
pub fn get_default_e2e_ping_ms(&self) -> u32 {
self.default_e2e_ping_ms.unwrap_or(0)
}
pub fn clear_default_e2e_ping_ms(&mut self) {
self.default_e2e_ping_ms = ::std::option::Option::None;
}
pub fn has_default_e2e_ping_ms(&self) -> bool {
self.default_e2e_ping_ms.is_some()
}
pub fn set_default_e2e_ping_ms(&mut self, v: u32) {
self.default_e2e_ping_ms = ::std::option::Option::Some(v);
}
pub fn get_default_e2e_score(&self) -> u32 {
self.default_e2e_score.unwrap_or(0)
}
pub fn clear_default_e2e_score(&mut self) {
self.default_e2e_score = ::std::option::Option::None;
}
pub fn has_default_e2e_score(&self) -> bool {
self.default_e2e_score.is_some()
}
pub fn set_default_e2e_score(&mut self, v: u32) {
self.default_e2e_score = ::std::option::Option::Some(v);
}
pub fn get_p2p_via_peer_relay_pop_id(&self) -> u32 {
self.p2p_via_peer_relay_pop_id.unwrap_or(0)
}
pub fn clear_p2p_via_peer_relay_pop_id(&mut self) {
self.p2p_via_peer_relay_pop_id = ::std::option::Option::None;
}
pub fn has_p2p_via_peer_relay_pop_id(&self) -> bool {
self.p2p_via_peer_relay_pop_id.is_some()
}
pub fn set_p2p_via_peer_relay_pop_id(&mut self, v: u32) {
self.p2p_via_peer_relay_pop_id = ::std::option::Option::Some(v);
}
pub fn get_best_dc_ping_ms(&self) -> u32 {
self.best_dc_ping_ms.unwrap_or(0)
}
pub fn clear_best_dc_ping_ms(&mut self) {
self.best_dc_ping_ms = ::std::option::Option::None;
}
pub fn has_best_dc_ping_ms(&self) -> bool {
self.best_dc_ping_ms.is_some()
}
pub fn set_best_dc_ping_ms(&mut self, v: u32) {
self.best_dc_ping_ms = ::std::option::Option::Some(v);
}
pub fn get_best_dc_score(&self) -> u32 {
self.best_dc_score.unwrap_or(0)
}
pub fn clear_best_dc_score(&mut self) {
self.best_dc_score = ::std::option::Option::None;
}
pub fn has_best_dc_score(&self) -> bool {
self.best_dc_score.is_some()
}
pub fn set_best_dc_score(&mut self, v: u32) {
self.best_dc_score = ::std::option::Option::Some(v);
}
pub fn get_best_dc_via_relay_pop_id(&self) -> u32 {
self.best_dc_via_relay_pop_id.unwrap_or(0)
}
pub fn clear_best_dc_via_relay_pop_id(&mut self) {
self.best_dc_via_relay_pop_id = ::std::option::Option::None;
}
pub fn has_best_dc_via_relay_pop_id(&self) -> bool {
self.best_dc_via_relay_pop_id.is_some()
}
pub fn set_best_dc_via_relay_pop_id(&mut self, v: u32) {
self.best_dc_via_relay_pop_id = ::std::option::Option::Some(v);
}
pub fn get_default_dc_ping_ms(&self) -> u32 {
self.default_dc_ping_ms.unwrap_or(0)
}
pub fn clear_default_dc_ping_ms(&mut self) {
self.default_dc_ping_ms = ::std::option::Option::None;
}
pub fn has_default_dc_ping_ms(&self) -> bool {
self.default_dc_ping_ms.is_some()
}
pub fn set_default_dc_ping_ms(&mut self, v: u32) {
self.default_dc_ping_ms = ::std::option::Option::Some(v);
}
pub fn get_default_dc_score(&self) -> u32 {
self.default_dc_score.unwrap_or(0)
}
pub fn clear_default_dc_score(&mut self) {
self.default_dc_score = ::std::option::Option::None;
}
pub fn has_default_dc_score(&self) -> bool {
self.default_dc_score.is_some()
}
pub fn set_default_dc_score(&mut self, v: u32) {
self.default_dc_score = ::std::option::Option::Some(v);
}
pub fn get_default_dc_via_relay_pop_id(&self) -> u32 {
self.default_dc_via_relay_pop_id.unwrap_or(0)
}
pub fn clear_default_dc_via_relay_pop_id(&mut self) {
self.default_dc_via_relay_pop_id = ::std::option::Option::None;
}
pub fn has_default_dc_via_relay_pop_id(&self) -> bool {
self.default_dc_via_relay_pop_id.is_some()
}
pub fn set_default_dc_via_relay_pop_id(&mut self, v: u32) {
self.default_dc_via_relay_pop_id = ::std::option::Option::Some(v);
}
pub fn get_test_dc_ping_ms(&self) -> u32 {
self.test_dc_ping_ms.unwrap_or(0)
}
pub fn clear_test_dc_ping_ms(&mut self) {
self.test_dc_ping_ms = ::std::option::Option::None;
}
pub fn has_test_dc_ping_ms(&self) -> bool {
self.test_dc_ping_ms.is_some()
}
pub fn set_test_dc_ping_ms(&mut self, v: u32) {
self.test_dc_ping_ms = ::std::option::Option::Some(v);
}
pub fn get_test_dc_score(&self) -> u32 {
self.test_dc_score.unwrap_or(0)
}
pub fn clear_test_dc_score(&mut self) {
self.test_dc_score = ::std::option::Option::None;
}
pub fn has_test_dc_score(&self) -> bool {
self.test_dc_score.is_some()
}
pub fn set_test_dc_score(&mut self, v: u32) {
self.test_dc_score = ::std::option::Option::Some(v);
}
pub fn get_test_dc_via_relay_pop_id(&self) -> u32 {
self.test_dc_via_relay_pop_id.unwrap_or(0)
}
pub fn clear_test_dc_via_relay_pop_id(&mut self) {
self.test_dc_via_relay_pop_id = ::std::option::Option::None;
}
pub fn has_test_dc_via_relay_pop_id(&self) -> bool {
self.test_dc_via_relay_pop_id.is_some()
}
pub fn set_test_dc_via_relay_pop_id(&mut self, v: u32) {
self.test_dc_via_relay_pop_id = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramClientPingSampleReply_POP {
fn is_initialized(&self) -> bool {
for v in &self.alt_addresses {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.pop_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.default_front_ping_ms = ::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_uint32()?;
self.cluster_penalty = ::std::option::Option::Some(tmp);
},
7 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.alt_addresses)?;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.default_e2e_ping_ms = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.default_e2e_score = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.p2p_via_peer_relay_pop_id = ::std::option::Option::Some(tmp);
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.best_dc_ping_ms = ::std::option::Option::Some(tmp);
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.best_dc_score = ::std::option::Option::Some(tmp);
},
11 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.best_dc_via_relay_pop_id = ::std::option::Option::Some(tmp);
},
12 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.default_dc_ping_ms = ::std::option::Option::Some(tmp);
},
13 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.default_dc_score = ::std::option::Option::Some(tmp);
},
14 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.default_dc_via_relay_pop_id = ::std::option::Option::Some(tmp);
},
15 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.test_dc_ping_ms = ::std::option::Option::Some(tmp);
},
16 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.test_dc_score = ::std::option::Option::Some(tmp);
},
17 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.test_dc_via_relay_pop_id = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.pop_id {
my_size += 5;
}
if let Some(v) = self.default_front_ping_ms {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.cluster_penalty {
my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
}
for value in &self.alt_addresses {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if let Some(v) = self.default_e2e_ping_ms {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.default_e2e_score {
my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.p2p_via_peer_relay_pop_id {
my_size += 5;
}
if let Some(v) = self.best_dc_ping_ms {
my_size += ::protobuf::rt::value_size(9, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.best_dc_score {
my_size += ::protobuf::rt::value_size(10, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.best_dc_via_relay_pop_id {
my_size += 5;
}
if let Some(v) = self.default_dc_ping_ms {
my_size += ::protobuf::rt::value_size(12, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.default_dc_score {
my_size += ::protobuf::rt::value_size(13, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.default_dc_via_relay_pop_id {
my_size += 5;
}
if let Some(v) = self.test_dc_ping_ms {
my_size += ::protobuf::rt::value_size(15, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.test_dc_score {
my_size += ::protobuf::rt::value_size(16, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.test_dc_via_relay_pop_id {
my_size += 6;
}
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.pop_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.default_front_ping_ms {
os.write_uint32(2, v)?;
}
if let Some(v) = self.cluster_penalty {
os.write_uint32(4, v)?;
}
for v in &self.alt_addresses {
os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
if let Some(v) = self.default_e2e_ping_ms {
os.write_uint32(3, v)?;
}
if let Some(v) = self.default_e2e_score {
os.write_uint32(5, v)?;
}
if let Some(v) = self.p2p_via_peer_relay_pop_id {
os.write_fixed32(6, v)?;
}
if let Some(v) = self.best_dc_ping_ms {
os.write_uint32(9, v)?;
}
if let Some(v) = self.best_dc_score {
os.write_uint32(10, v)?;
}
if let Some(v) = self.best_dc_via_relay_pop_id {
os.write_fixed32(11, v)?;
}
if let Some(v) = self.default_dc_ping_ms {
os.write_uint32(12, v)?;
}
if let Some(v) = self.default_dc_score {
os.write_uint32(13, v)?;
}
if let Some(v) = self.default_dc_via_relay_pop_id {
os.write_fixed32(14, v)?;
}
if let Some(v) = self.test_dc_ping_ms {
os.write_uint32(15, v)?;
}
if let Some(v) = self.test_dc_score {
os.write_uint32(16, v)?;
}
if let Some(v) = self.test_dc_via_relay_pop_id {
os.write_fixed32(17, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramClientPingSampleReply_POP {
CMsgSteamDatagramClientPingSampleReply_POP::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"pop_id",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.pop_id },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.pop_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"default_front_ping_ms",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.default_front_ping_ms },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.default_front_ping_ms },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"cluster_penalty",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.cluster_penalty },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.cluster_penalty },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramClientPingSampleReply_POP_AltAddress>>(
"alt_addresses",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.alt_addresses },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.alt_addresses },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"default_e2e_ping_ms",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.default_e2e_ping_ms },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.default_e2e_ping_ms },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"default_e2e_score",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.default_e2e_score },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.default_e2e_score },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"p2p_via_peer_relay_pop_id",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.p2p_via_peer_relay_pop_id },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.p2p_via_peer_relay_pop_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"best_dc_ping_ms",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.best_dc_ping_ms },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.best_dc_ping_ms },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"best_dc_score",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.best_dc_score },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.best_dc_score },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"best_dc_via_relay_pop_id",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.best_dc_via_relay_pop_id },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.best_dc_via_relay_pop_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"default_dc_ping_ms",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.default_dc_ping_ms },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.default_dc_ping_ms },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"default_dc_score",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.default_dc_score },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.default_dc_score },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"default_dc_via_relay_pop_id",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.default_dc_via_relay_pop_id },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.default_dc_via_relay_pop_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"test_dc_ping_ms",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.test_dc_ping_ms },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.test_dc_ping_ms },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"test_dc_score",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.test_dc_score },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.test_dc_score },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"test_dc_via_relay_pop_id",
|m: &CMsgSteamDatagramClientPingSampleReply_POP| { &m.test_dc_via_relay_pop_id },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP| { &mut m.test_dc_via_relay_pop_id },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramClientPingSampleReply_POP>(
"CMsgSteamDatagramClientPingSampleReply.POP",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramClientPingSampleReply_POP {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramClientPingSampleReply_POP> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramClientPingSampleReply_POP::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramClientPingSampleReply_POP {
fn clear(&mut self) {
self.pop_id = ::std::option::Option::None;
self.default_front_ping_ms = ::std::option::Option::None;
self.cluster_penalty = ::std::option::Option::None;
self.alt_addresses.clear();
self.default_e2e_ping_ms = ::std::option::Option::None;
self.default_e2e_score = ::std::option::Option::None;
self.p2p_via_peer_relay_pop_id = ::std::option::Option::None;
self.best_dc_ping_ms = ::std::option::Option::None;
self.best_dc_score = ::std::option::Option::None;
self.best_dc_via_relay_pop_id = ::std::option::Option::None;
self.default_dc_ping_ms = ::std::option::Option::None;
self.default_dc_score = ::std::option::Option::None;
self.default_dc_via_relay_pop_id = ::std::option::Option::None;
self.test_dc_ping_ms = ::std::option::Option::None;
self.test_dc_score = ::std::option::Option::None;
self.test_dc_via_relay_pop_id = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramClientPingSampleReply_POP {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramClientPingSampleReply_POP {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
id: ::protobuf::SingularField<::std::string::String>,
front_ping_ms: ::std::option::Option<u32>,
penalty: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
fn default() -> &'a CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
<CMsgSteamDatagramClientPingSampleReply_POP_AltAddress as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
pub fn new() -> CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
::std::default::Default::default()
}
pub fn get_id(&self) -> &str {
match self.id.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_id(&mut self) {
self.id.clear();
}
pub fn has_id(&self) -> bool {
self.id.is_some()
}
pub fn set_id(&mut self, v: ::std::string::String) {
self.id = ::protobuf::SingularField::some(v);
}
pub fn mut_id(&mut self) -> &mut ::std::string::String {
if self.id.is_none() {
self.id.set_default();
}
self.id.as_mut().unwrap()
}
pub fn take_id(&mut self) -> ::std::string::String {
self.id.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_front_ping_ms(&self) -> u32 {
self.front_ping_ms.unwrap_or(0)
}
pub fn clear_front_ping_ms(&mut self) {
self.front_ping_ms = ::std::option::Option::None;
}
pub fn has_front_ping_ms(&self) -> bool {
self.front_ping_ms.is_some()
}
pub fn set_front_ping_ms(&mut self, v: u32) {
self.front_ping_ms = ::std::option::Option::Some(v);
}
pub fn get_penalty(&self) -> u32 {
self.penalty.unwrap_or(0)
}
pub fn clear_penalty(&mut self) {
self.penalty = ::std::option::Option::None;
}
pub fn has_penalty(&self) -> bool {
self.penalty.is_some()
}
pub fn set_penalty(&mut self, v: u32) {
self.penalty = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.id)?;
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.front_ping_ms = ::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_uint32()?;
self.penalty = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.id.as_ref() {
my_size += ::protobuf::rt::string_size(1, &v);
}
if let Some(v) = self.front_ping_ms {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.penalty {
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.id.as_ref() {
os.write_string(1, &v)?;
}
if let Some(v) = self.front_ping_ms {
os.write_uint32(2, v)?;
}
if let Some(v) = self.penalty {
os.write_uint32(3, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
CMsgSteamDatagramClientPingSampleReply_POP_AltAddress::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"id",
|m: &CMsgSteamDatagramClientPingSampleReply_POP_AltAddress| { &m.id },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP_AltAddress| { &mut m.id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"front_ping_ms",
|m: &CMsgSteamDatagramClientPingSampleReply_POP_AltAddress| { &m.front_ping_ms },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP_AltAddress| { &mut m.front_ping_ms },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"penalty",
|m: &CMsgSteamDatagramClientPingSampleReply_POP_AltAddress| { &m.penalty },
|m: &mut CMsgSteamDatagramClientPingSampleReply_POP_AltAddress| { &mut m.penalty },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramClientPingSampleReply_POP_AltAddress>(
"CMsgSteamDatagramClientPingSampleReply.POP.AltAddress",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramClientPingSampleReply_POP_AltAddress> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramClientPingSampleReply_POP_AltAddress::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
fn clear(&mut self) {
self.id.clear();
self.front_ping_ms = ::std::option::Option::None;
self.penalty = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramClientPingSampleReply_POP_AltAddress {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
data_center_id: ::std::option::Option<u32>,
best_dc_via_relay_pop_id: ::std::option::Option<u32>,
best_dc_ping_ms: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
fn default() -> &'a CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
<CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
pub fn new() -> CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
::std::default::Default::default()
}
pub fn get_data_center_id(&self) -> u32 {
self.data_center_id.unwrap_or(0)
}
pub fn clear_data_center_id(&mut self) {
self.data_center_id = ::std::option::Option::None;
}
pub fn has_data_center_id(&self) -> bool {
self.data_center_id.is_some()
}
pub fn set_data_center_id(&mut self, v: u32) {
self.data_center_id = ::std::option::Option::Some(v);
}
pub fn get_best_dc_via_relay_pop_id(&self) -> u32 {
self.best_dc_via_relay_pop_id.unwrap_or(0)
}
pub fn clear_best_dc_via_relay_pop_id(&mut self) {
self.best_dc_via_relay_pop_id = ::std::option::Option::None;
}
pub fn has_best_dc_via_relay_pop_id(&self) -> bool {
self.best_dc_via_relay_pop_id.is_some()
}
pub fn set_best_dc_via_relay_pop_id(&mut self, v: u32) {
self.best_dc_via_relay_pop_id = ::std::option::Option::Some(v);
}
pub fn get_best_dc_ping_ms(&self) -> u32 {
self.best_dc_ping_ms.unwrap_or(0)
}
pub fn clear_best_dc_ping_ms(&mut self) {
self.best_dc_ping_ms = ::std::option::Option::None;
}
pub fn has_best_dc_ping_ms(&self) -> bool {
self.best_dc_ping_ms.is_some()
}
pub fn set_best_dc_ping_ms(&mut self, v: u32) {
self.best_dc_ping_ms = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.data_center_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.best_dc_via_relay_pop_id = ::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_uint32()?;
self.best_dc_ping_ms = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.data_center_id {
my_size += 5;
}
if let Some(v) = self.best_dc_via_relay_pop_id {
my_size += 5;
}
if let Some(v) = self.best_dc_ping_ms {
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.data_center_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.best_dc_via_relay_pop_id {
os.write_fixed32(2, v)?;
}
if let Some(v) = self.best_dc_ping_ms {
os.write_uint32(3, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"data_center_id",
|m: &CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter| { &m.data_center_id },
|m: &mut CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter| { &mut m.data_center_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"best_dc_via_relay_pop_id",
|m: &CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter| { &m.best_dc_via_relay_pop_id },
|m: &mut CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter| { &mut m.best_dc_via_relay_pop_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"best_dc_ping_ms",
|m: &CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter| { &m.best_dc_ping_ms },
|m: &mut CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter| { &mut m.best_dc_ping_ms },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter>(
"CMsgSteamDatagramClientPingSampleReply.LegacyDataCenter",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
fn clear(&mut self) {
self.data_center_id = ::std::option::Option::None;
self.best_dc_via_relay_pop_id = ::std::option::Option::None;
self.best_dc_ping_ms = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramClientPingSampleReply_LegacyDataCenter {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramClientSwitchedPrimary {
connection_id: ::std::option::Option<u32>,
from_ip: ::std::option::Option<u32>,
from_port: ::std::option::Option<u32>,
from_router_cluster: ::std::option::Option<u32>,
from_active_time: ::std::option::Option<u32>,
from_active_packets_recv: ::std::option::Option<u32>,
from_dropped_reason: ::protobuf::SingularField<::std::string::String>,
gap_ms: ::std::option::Option<u32>,
pub from_quality_now: ::protobuf::SingularPtrField<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality>,
pub to_quality_now: ::protobuf::SingularPtrField<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality>,
pub from_quality_then: ::protobuf::SingularPtrField<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality>,
pub to_quality_then: ::protobuf::SingularPtrField<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramClientSwitchedPrimary {
fn default() -> &'a CMsgSteamDatagramClientSwitchedPrimary {
<CMsgSteamDatagramClientSwitchedPrimary as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramClientSwitchedPrimary {
pub fn new() -> CMsgSteamDatagramClientSwitchedPrimary {
::std::default::Default::default()
}
pub fn get_connection_id(&self) -> u32 {
self.connection_id.unwrap_or(0)
}
pub fn clear_connection_id(&mut self) {
self.connection_id = ::std::option::Option::None;
}
pub fn has_connection_id(&self) -> bool {
self.connection_id.is_some()
}
pub fn set_connection_id(&mut self, v: u32) {
self.connection_id = ::std::option::Option::Some(v);
}
pub fn get_from_ip(&self) -> u32 {
self.from_ip.unwrap_or(0)
}
pub fn clear_from_ip(&mut self) {
self.from_ip = ::std::option::Option::None;
}
pub fn has_from_ip(&self) -> bool {
self.from_ip.is_some()
}
pub fn set_from_ip(&mut self, v: u32) {
self.from_ip = ::std::option::Option::Some(v);
}
pub fn get_from_port(&self) -> u32 {
self.from_port.unwrap_or(0)
}
pub fn clear_from_port(&mut self) {
self.from_port = ::std::option::Option::None;
}
pub fn has_from_port(&self) -> bool {
self.from_port.is_some()
}
pub fn set_from_port(&mut self, v: u32) {
self.from_port = ::std::option::Option::Some(v);
}
pub fn get_from_router_cluster(&self) -> u32 {
self.from_router_cluster.unwrap_or(0)
}
pub fn clear_from_router_cluster(&mut self) {
self.from_router_cluster = ::std::option::Option::None;
}
pub fn has_from_router_cluster(&self) -> bool {
self.from_router_cluster.is_some()
}
pub fn set_from_router_cluster(&mut self, v: u32) {
self.from_router_cluster = ::std::option::Option::Some(v);
}
pub fn get_from_active_time(&self) -> u32 {
self.from_active_time.unwrap_or(0)
}
pub fn clear_from_active_time(&mut self) {
self.from_active_time = ::std::option::Option::None;
}
pub fn has_from_active_time(&self) -> bool {
self.from_active_time.is_some()
}
pub fn set_from_active_time(&mut self, v: u32) {
self.from_active_time = ::std::option::Option::Some(v);
}
pub fn get_from_active_packets_recv(&self) -> u32 {
self.from_active_packets_recv.unwrap_or(0)
}
pub fn clear_from_active_packets_recv(&mut self) {
self.from_active_packets_recv = ::std::option::Option::None;
}
pub fn has_from_active_packets_recv(&self) -> bool {
self.from_active_packets_recv.is_some()
}
pub fn set_from_active_packets_recv(&mut self, v: u32) {
self.from_active_packets_recv = ::std::option::Option::Some(v);
}
pub fn get_from_dropped_reason(&self) -> &str {
match self.from_dropped_reason.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_from_dropped_reason(&mut self) {
self.from_dropped_reason.clear();
}
pub fn has_from_dropped_reason(&self) -> bool {
self.from_dropped_reason.is_some()
}
pub fn set_from_dropped_reason(&mut self, v: ::std::string::String) {
self.from_dropped_reason = ::protobuf::SingularField::some(v);
}
pub fn mut_from_dropped_reason(&mut self) -> &mut ::std::string::String {
if self.from_dropped_reason.is_none() {
self.from_dropped_reason.set_default();
}
self.from_dropped_reason.as_mut().unwrap()
}
pub fn take_from_dropped_reason(&mut self) -> ::std::string::String {
self.from_dropped_reason.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_gap_ms(&self) -> u32 {
self.gap_ms.unwrap_or(0)
}
pub fn clear_gap_ms(&mut self) {
self.gap_ms = ::std::option::Option::None;
}
pub fn has_gap_ms(&self) -> bool {
self.gap_ms.is_some()
}
pub fn set_gap_ms(&mut self, v: u32) {
self.gap_ms = ::std::option::Option::Some(v);
}
pub fn get_from_quality_now(&self) -> &CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
self.from_quality_now.as_ref().unwrap_or_else(|| <CMsgSteamDatagramClientSwitchedPrimary_RouterQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_from_quality_now(&mut self) {
self.from_quality_now.clear();
}
pub fn has_from_quality_now(&self) -> bool {
self.from_quality_now.is_some()
}
pub fn set_from_quality_now(&mut self, v: CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) {
self.from_quality_now = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_from_quality_now(&mut self) -> &mut CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
if self.from_quality_now.is_none() {
self.from_quality_now.set_default();
}
self.from_quality_now.as_mut().unwrap()
}
pub fn take_from_quality_now(&mut self) -> CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
self.from_quality_now.take().unwrap_or_else(|| CMsgSteamDatagramClientSwitchedPrimary_RouterQuality::new())
}
pub fn get_to_quality_now(&self) -> &CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
self.to_quality_now.as_ref().unwrap_or_else(|| <CMsgSteamDatagramClientSwitchedPrimary_RouterQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_to_quality_now(&mut self) {
self.to_quality_now.clear();
}
pub fn has_to_quality_now(&self) -> bool {
self.to_quality_now.is_some()
}
pub fn set_to_quality_now(&mut self, v: CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) {
self.to_quality_now = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_to_quality_now(&mut self) -> &mut CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
if self.to_quality_now.is_none() {
self.to_quality_now.set_default();
}
self.to_quality_now.as_mut().unwrap()
}
pub fn take_to_quality_now(&mut self) -> CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
self.to_quality_now.take().unwrap_or_else(|| CMsgSteamDatagramClientSwitchedPrimary_RouterQuality::new())
}
pub fn get_from_quality_then(&self) -> &CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
self.from_quality_then.as_ref().unwrap_or_else(|| <CMsgSteamDatagramClientSwitchedPrimary_RouterQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_from_quality_then(&mut self) {
self.from_quality_then.clear();
}
pub fn has_from_quality_then(&self) -> bool {
self.from_quality_then.is_some()
}
pub fn set_from_quality_then(&mut self, v: CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) {
self.from_quality_then = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_from_quality_then(&mut self) -> &mut CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
if self.from_quality_then.is_none() {
self.from_quality_then.set_default();
}
self.from_quality_then.as_mut().unwrap()
}
pub fn take_from_quality_then(&mut self) -> CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
self.from_quality_then.take().unwrap_or_else(|| CMsgSteamDatagramClientSwitchedPrimary_RouterQuality::new())
}
pub fn get_to_quality_then(&self) -> &CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
self.to_quality_then.as_ref().unwrap_or_else(|| <CMsgSteamDatagramClientSwitchedPrimary_RouterQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_to_quality_then(&mut self) {
self.to_quality_then.clear();
}
pub fn has_to_quality_then(&self) -> bool {
self.to_quality_then.is_some()
}
pub fn set_to_quality_then(&mut self, v: CMsgSteamDatagramClientSwitchedPrimary_RouterQuality) {
self.to_quality_then = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_to_quality_then(&mut self) -> &mut CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
if self.to_quality_then.is_none() {
self.to_quality_then.set_default();
}
self.to_quality_then.as_mut().unwrap()
}
pub fn take_to_quality_then(&mut self) -> CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
self.to_quality_then.take().unwrap_or_else(|| CMsgSteamDatagramClientSwitchedPrimary_RouterQuality::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramClientSwitchedPrimary {
fn is_initialized(&self) -> bool {
for v in &self.from_quality_now {
if !v.is_initialized() {
return false;
}
};
for v in &self.to_quality_now {
if !v.is_initialized() {
return false;
}
};
for v in &self.from_quality_then {
if !v.is_initialized() {
return false;
}
};
for v in &self.to_quality_then {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.connection_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.from_ip = ::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_uint32()?;
self.from_port = ::std::option::Option::Some(tmp);
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.from_router_cluster = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.from_active_time = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.from_active_packets_recv = ::std::option::Option::Some(tmp);
},
7 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.from_dropped_reason)?;
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.gap_ms = ::std::option::Option::Some(tmp);
},
9 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.from_quality_now)?;
},
10 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.to_quality_now)?;
},
11 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.from_quality_then)?;
},
12 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.to_quality_then)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.connection_id {
my_size += 5;
}
if let Some(v) = self.from_ip {
my_size += 5;
}
if let Some(v) = self.from_port {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.from_router_cluster {
my_size += 5;
}
if let Some(v) = self.from_active_time {
my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.from_active_packets_recv {
my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.from_dropped_reason.as_ref() {
my_size += ::protobuf::rt::string_size(7, &v);
}
if let Some(v) = self.gap_ms {
my_size += ::protobuf::rt::value_size(8, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.from_quality_now.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.to_quality_now.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.from_quality_then.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.to_quality_then.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
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.connection_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.from_ip {
os.write_fixed32(2, v)?;
}
if let Some(v) = self.from_port {
os.write_uint32(3, v)?;
}
if let Some(v) = self.from_router_cluster {
os.write_fixed32(4, v)?;
}
if let Some(v) = self.from_active_time {
os.write_uint32(5, v)?;
}
if let Some(v) = self.from_active_packets_recv {
os.write_uint32(6, v)?;
}
if let Some(ref v) = self.from_dropped_reason.as_ref() {
os.write_string(7, &v)?;
}
if let Some(v) = self.gap_ms {
os.write_uint32(8, v)?;
}
if let Some(ref v) = self.from_quality_now.as_ref() {
os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.to_quality_now.as_ref() {
os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.from_quality_then.as_ref() {
os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.to_quality_then.as_ref() {
os.write_tag(12, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramClientSwitchedPrimary {
CMsgSteamDatagramClientSwitchedPrimary::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"connection_id",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.connection_id },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"from_ip",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.from_ip },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.from_ip },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"from_port",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.from_port },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.from_port },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"from_router_cluster",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.from_router_cluster },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.from_router_cluster },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"from_active_time",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.from_active_time },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.from_active_time },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"from_active_packets_recv",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.from_active_packets_recv },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.from_active_packets_recv },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"from_dropped_reason",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.from_dropped_reason },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.from_dropped_reason },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"gap_ms",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.gap_ms },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.gap_ms },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality>>(
"from_quality_now",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.from_quality_now },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.from_quality_now },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality>>(
"to_quality_now",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.to_quality_now },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.to_quality_now },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality>>(
"from_quality_then",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.from_quality_then },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.from_quality_then },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality>>(
"to_quality_then",
|m: &CMsgSteamDatagramClientSwitchedPrimary| { &m.to_quality_then },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary| { &mut m.to_quality_then },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramClientSwitchedPrimary>(
"CMsgSteamDatagramClientSwitchedPrimary",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramClientSwitchedPrimary {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramClientSwitchedPrimary> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramClientSwitchedPrimary::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramClientSwitchedPrimary {
fn clear(&mut self) {
self.connection_id = ::std::option::Option::None;
self.from_ip = ::std::option::Option::None;
self.from_port = ::std::option::Option::None;
self.from_router_cluster = ::std::option::Option::None;
self.from_active_time = ::std::option::Option::None;
self.from_active_packets_recv = ::std::option::Option::None;
self.from_dropped_reason.clear();
self.gap_ms = ::std::option::Option::None;
self.from_quality_now.clear();
self.to_quality_now.clear();
self.from_quality_then.clear();
self.to_quality_then.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramClientSwitchedPrimary {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramClientSwitchedPrimary {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
score: ::std::option::Option<u32>,
front_ping: ::std::option::Option<u32>,
back_ping: ::std::option::Option<u32>,
seconds_until_down: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
fn default() -> &'a CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
pub fn new() -> CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
::std::default::Default::default()
}
pub fn get_score(&self) -> u32 {
self.score.unwrap_or(0)
}
pub fn clear_score(&mut self) {
self.score = ::std::option::Option::None;
}
pub fn has_score(&self) -> bool {
self.score.is_some()
}
pub fn set_score(&mut self, v: u32) {
self.score = ::std::option::Option::Some(v);
}
pub fn get_front_ping(&self) -> u32 {
self.front_ping.unwrap_or(0)
}
pub fn clear_front_ping(&mut self) {
self.front_ping = ::std::option::Option::None;
}
pub fn has_front_ping(&self) -> bool {
self.front_ping.is_some()
}
pub fn set_front_ping(&mut self, v: u32) {
self.front_ping = ::std::option::Option::Some(v);
}
pub fn get_back_ping(&self) -> u32 {
self.back_ping.unwrap_or(0)
}
pub fn clear_back_ping(&mut self) {
self.back_ping = ::std::option::Option::None;
}
pub fn has_back_ping(&self) -> bool {
self.back_ping.is_some()
}
pub fn set_back_ping(&mut self, v: u32) {
self.back_ping = ::std::option::Option::Some(v);
}
pub fn get_seconds_until_down(&self) -> u32 {
self.seconds_until_down.unwrap_or(0)
}
pub fn clear_seconds_until_down(&mut self) {
self.seconds_until_down = ::std::option::Option::None;
}
pub fn has_seconds_until_down(&self) -> bool {
self.seconds_until_down.is_some()
}
pub fn set_seconds_until_down(&mut self, v: u32) {
self.seconds_until_down = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.score = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.front_ping = ::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_uint32()?;
self.back_ping = ::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_uint32()?;
self.seconds_until_down = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.score {
my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.front_ping {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.back_ping {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seconds_until_down {
my_size += ::protobuf::rt::value_size(4, 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.score {
os.write_uint32(1, v)?;
}
if let Some(v) = self.front_ping {
os.write_uint32(2, v)?;
}
if let Some(v) = self.back_ping {
os.write_uint32(3, v)?;
}
if let Some(v) = self.seconds_until_down {
os.write_uint32(4, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
CMsgSteamDatagramClientSwitchedPrimary_RouterQuality::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"score",
|m: &CMsgSteamDatagramClientSwitchedPrimary_RouterQuality| { &m.score },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary_RouterQuality| { &mut m.score },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"front_ping",
|m: &CMsgSteamDatagramClientSwitchedPrimary_RouterQuality| { &m.front_ping },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary_RouterQuality| { &mut m.front_ping },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"back_ping",
|m: &CMsgSteamDatagramClientSwitchedPrimary_RouterQuality| { &m.back_ping },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary_RouterQuality| { &mut m.back_ping },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seconds_until_down",
|m: &CMsgSteamDatagramClientSwitchedPrimary_RouterQuality| { &m.seconds_until_down },
|m: &mut CMsgSteamDatagramClientSwitchedPrimary_RouterQuality| { &mut m.seconds_until_down },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality>(
"CMsgSteamDatagramClientSwitchedPrimary.RouterQuality",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramClientSwitchedPrimary_RouterQuality> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramClientSwitchedPrimary_RouterQuality::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
fn clear(&mut self) {
self.score = ::std::option::Option::None;
self.front_ping = ::std::option::Option::None;
self.back_ping = ::std::option::Option::None;
self.seconds_until_down = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramClientSwitchedPrimary_RouterQuality {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramConnectRequest {
connection_id: ::std::option::Option<u32>,
my_timestamp: ::std::option::Option<u64>,
ping_est_ms: ::std::option::Option<u32>,
virtual_port: ::std::option::Option<u32>,
gameserver_relay_session_id: ::std::option::Option<u32>,
pub crypt: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned>,
pub cert: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned>,
routing_secret: ::std::option::Option<u64>,
legacy_client_steam_id: ::std::option::Option<u64>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramConnectRequest {
fn default() -> &'a CMsgSteamDatagramConnectRequest {
<CMsgSteamDatagramConnectRequest as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramConnectRequest {
pub fn new() -> CMsgSteamDatagramConnectRequest {
::std::default::Default::default()
}
pub fn get_connection_id(&self) -> u32 {
self.connection_id.unwrap_or(0)
}
pub fn clear_connection_id(&mut self) {
self.connection_id = ::std::option::Option::None;
}
pub fn has_connection_id(&self) -> bool {
self.connection_id.is_some()
}
pub fn set_connection_id(&mut self, v: u32) {
self.connection_id = ::std::option::Option::Some(v);
}
pub fn get_my_timestamp(&self) -> u64 {
self.my_timestamp.unwrap_or(0)
}
pub fn clear_my_timestamp(&mut self) {
self.my_timestamp = ::std::option::Option::None;
}
pub fn has_my_timestamp(&self) -> bool {
self.my_timestamp.is_some()
}
pub fn set_my_timestamp(&mut self, v: u64) {
self.my_timestamp = ::std::option::Option::Some(v);
}
pub fn get_ping_est_ms(&self) -> u32 {
self.ping_est_ms.unwrap_or(0)
}
pub fn clear_ping_est_ms(&mut self) {
self.ping_est_ms = ::std::option::Option::None;
}
pub fn has_ping_est_ms(&self) -> bool {
self.ping_est_ms.is_some()
}
pub fn set_ping_est_ms(&mut self, v: u32) {
self.ping_est_ms = ::std::option::Option::Some(v);
}
pub fn get_virtual_port(&self) -> u32 {
self.virtual_port.unwrap_or(0)
}
pub fn clear_virtual_port(&mut self) {
self.virtual_port = ::std::option::Option::None;
}
pub fn has_virtual_port(&self) -> bool {
self.virtual_port.is_some()
}
pub fn set_virtual_port(&mut self, v: u32) {
self.virtual_port = ::std::option::Option::Some(v);
}
pub fn get_gameserver_relay_session_id(&self) -> u32 {
self.gameserver_relay_session_id.unwrap_or(0)
}
pub fn clear_gameserver_relay_session_id(&mut self) {
self.gameserver_relay_session_id = ::std::option::Option::None;
}
pub fn has_gameserver_relay_session_id(&self) -> bool {
self.gameserver_relay_session_id.is_some()
}
pub fn set_gameserver_relay_session_id(&mut self, v: u32) {
self.gameserver_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_crypt(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned {
self.crypt.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned as ::protobuf::Message>::default_instance())
}
pub fn clear_crypt(&mut self) {
self.crypt.clear();
}
pub fn has_crypt(&self) -> bool {
self.crypt.is_some()
}
pub fn set_crypt(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned) {
self.crypt = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_crypt(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned {
if self.crypt.is_none() {
self.crypt.set_default();
}
self.crypt.as_mut().unwrap()
}
pub fn take_crypt(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned {
self.crypt.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned::new())
}
pub fn get_cert(&self) -> &super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
self.cert.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned as ::protobuf::Message>::default_instance())
}
pub fn clear_cert(&mut self) {
self.cert.clear();
}
pub fn has_cert(&self) -> bool {
self.cert.is_some()
}
pub fn set_cert(&mut self, v: super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned) {
self.cert = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_cert(&mut self) -> &mut super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
if self.cert.is_none() {
self.cert.set_default();
}
self.cert.as_mut().unwrap()
}
pub fn take_cert(&mut self) -> super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
self.cert.take().unwrap_or_else(|| super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned::new())
}
pub fn get_routing_secret(&self) -> u64 {
self.routing_secret.unwrap_or(0)
}
pub fn clear_routing_secret(&mut self) {
self.routing_secret = ::std::option::Option::None;
}
pub fn has_routing_secret(&self) -> bool {
self.routing_secret.is_some()
}
pub fn set_routing_secret(&mut self, v: u64) {
self.routing_secret = ::std::option::Option::Some(v);
}
pub fn get_legacy_client_steam_id(&self) -> u64 {
self.legacy_client_steam_id.unwrap_or(0)
}
pub fn clear_legacy_client_steam_id(&mut self) {
self.legacy_client_steam_id = ::std::option::Option::None;
}
pub fn has_legacy_client_steam_id(&self) -> bool {
self.legacy_client_steam_id.is_some()
}
pub fn set_legacy_client_steam_id(&mut self, v: u64) {
self.legacy_client_steam_id = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramConnectRequest {
fn is_initialized(&self) -> bool {
for v in &self.crypt {
if !v.is_initialized() {
return false;
}
};
for v in &self.cert {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.connection_id = ::std::option::Option::Some(tmp);
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.my_timestamp = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.ping_est_ms = ::std::option::Option::Some(tmp);
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.virtual_port = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.gameserver_relay_session_id = ::std::option::Option::Some(tmp);
},
6 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.crypt)?;
},
7 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cert)?;
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.routing_secret = ::std::option::Option::Some(tmp);
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.legacy_client_steam_id = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.connection_id {
my_size += 5;
}
if let Some(v) = self.my_timestamp {
my_size += 9;
}
if let Some(v) = self.ping_est_ms {
my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.virtual_port {
my_size += ::protobuf::rt::value_size(9, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.gameserver_relay_session_id {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.crypt.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.cert.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(v) = self.routing_secret {
my_size += 9;
}
if let Some(v) = self.legacy_client_steam_id {
my_size += 9;
}
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.connection_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.my_timestamp {
os.write_fixed64(4, v)?;
}
if let Some(v) = self.ping_est_ms {
os.write_uint32(5, v)?;
}
if let Some(v) = self.virtual_port {
os.write_uint32(9, v)?;
}
if let Some(v) = self.gameserver_relay_session_id {
os.write_uint32(2, v)?;
}
if let Some(ref v) = self.crypt.as_ref() {
os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.cert.as_ref() {
os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(v) = self.routing_secret {
os.write_fixed64(10, v)?;
}
if let Some(v) = self.legacy_client_steam_id {
os.write_fixed64(3, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramConnectRequest {
CMsgSteamDatagramConnectRequest::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"connection_id",
|m: &CMsgSteamDatagramConnectRequest| { &m.connection_id },
|m: &mut CMsgSteamDatagramConnectRequest| { &mut m.connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"my_timestamp",
|m: &CMsgSteamDatagramConnectRequest| { &m.my_timestamp },
|m: &mut CMsgSteamDatagramConnectRequest| { &mut m.my_timestamp },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"ping_est_ms",
|m: &CMsgSteamDatagramConnectRequest| { &m.ping_est_ms },
|m: &mut CMsgSteamDatagramConnectRequest| { &mut m.ping_est_ms },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"virtual_port",
|m: &CMsgSteamDatagramConnectRequest| { &m.virtual_port },
|m: &mut CMsgSteamDatagramConnectRequest| { &mut m.virtual_port },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"gameserver_relay_session_id",
|m: &CMsgSteamDatagramConnectRequest| { &m.gameserver_relay_session_id },
|m: &mut CMsgSteamDatagramConnectRequest| { &mut m.gameserver_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned>>(
"crypt",
|m: &CMsgSteamDatagramConnectRequest| { &m.crypt },
|m: &mut CMsgSteamDatagramConnectRequest| { &mut m.crypt },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned>>(
"cert",
|m: &CMsgSteamDatagramConnectRequest| { &m.cert },
|m: &mut CMsgSteamDatagramConnectRequest| { &mut m.cert },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"routing_secret",
|m: &CMsgSteamDatagramConnectRequest| { &m.routing_secret },
|m: &mut CMsgSteamDatagramConnectRequest| { &mut m.routing_secret },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"legacy_client_steam_id",
|m: &CMsgSteamDatagramConnectRequest| { &m.legacy_client_steam_id },
|m: &mut CMsgSteamDatagramConnectRequest| { &mut m.legacy_client_steam_id },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramConnectRequest>(
"CMsgSteamDatagramConnectRequest",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramConnectRequest {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramConnectRequest> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramConnectRequest::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramConnectRequest {
fn clear(&mut self) {
self.connection_id = ::std::option::Option::None;
self.my_timestamp = ::std::option::Option::None;
self.ping_est_ms = ::std::option::Option::None;
self.virtual_port = ::std::option::Option::None;
self.gameserver_relay_session_id = ::std::option::Option::None;
self.crypt.clear();
self.cert.clear();
self.routing_secret = ::std::option::Option::None;
self.legacy_client_steam_id = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramConnectRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectRequest {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramConnectOK {
client_connection_id: ::std::option::Option<u32>,
server_connection_id: ::std::option::Option<u32>,
your_timestamp: ::std::option::Option<u64>,
delay_time_usec: ::std::option::Option<u32>,
gameserver_relay_session_id: ::std::option::Option<u32>,
pub crypt: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned>,
pub cert: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramConnectOK {
fn default() -> &'a CMsgSteamDatagramConnectOK {
<CMsgSteamDatagramConnectOK as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramConnectOK {
pub fn new() -> CMsgSteamDatagramConnectOK {
::std::default::Default::default()
}
pub fn get_client_connection_id(&self) -> u32 {
self.client_connection_id.unwrap_or(0)
}
pub fn clear_client_connection_id(&mut self) {
self.client_connection_id = ::std::option::Option::None;
}
pub fn has_client_connection_id(&self) -> bool {
self.client_connection_id.is_some()
}
pub fn set_client_connection_id(&mut self, v: u32) {
self.client_connection_id = ::std::option::Option::Some(v);
}
pub fn get_server_connection_id(&self) -> u32 {
self.server_connection_id.unwrap_or(0)
}
pub fn clear_server_connection_id(&mut self) {
self.server_connection_id = ::std::option::Option::None;
}
pub fn has_server_connection_id(&self) -> bool {
self.server_connection_id.is_some()
}
pub fn set_server_connection_id(&mut self, v: u32) {
self.server_connection_id = ::std::option::Option::Some(v);
}
pub fn get_your_timestamp(&self) -> u64 {
self.your_timestamp.unwrap_or(0)
}
pub fn clear_your_timestamp(&mut self) {
self.your_timestamp = ::std::option::Option::None;
}
pub fn has_your_timestamp(&self) -> bool {
self.your_timestamp.is_some()
}
pub fn set_your_timestamp(&mut self, v: u64) {
self.your_timestamp = ::std::option::Option::Some(v);
}
pub fn get_delay_time_usec(&self) -> u32 {
self.delay_time_usec.unwrap_or(0)
}
pub fn clear_delay_time_usec(&mut self) {
self.delay_time_usec = ::std::option::Option::None;
}
pub fn has_delay_time_usec(&self) -> bool {
self.delay_time_usec.is_some()
}
pub fn set_delay_time_usec(&mut self, v: u32) {
self.delay_time_usec = ::std::option::Option::Some(v);
}
pub fn get_gameserver_relay_session_id(&self) -> u32 {
self.gameserver_relay_session_id.unwrap_or(0)
}
pub fn clear_gameserver_relay_session_id(&mut self) {
self.gameserver_relay_session_id = ::std::option::Option::None;
}
pub fn has_gameserver_relay_session_id(&self) -> bool {
self.gameserver_relay_session_id.is_some()
}
pub fn set_gameserver_relay_session_id(&mut self, v: u32) {
self.gameserver_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_crypt(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned {
self.crypt.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned as ::protobuf::Message>::default_instance())
}
pub fn clear_crypt(&mut self) {
self.crypt.clear();
}
pub fn has_crypt(&self) -> bool {
self.crypt.is_some()
}
pub fn set_crypt(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned) {
self.crypt = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_crypt(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned {
if self.crypt.is_none() {
self.crypt.set_default();
}
self.crypt.as_mut().unwrap()
}
pub fn take_crypt(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned {
self.crypt.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned::new())
}
pub fn get_cert(&self) -> &super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
self.cert.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned as ::protobuf::Message>::default_instance())
}
pub fn clear_cert(&mut self) {
self.cert.clear();
}
pub fn has_cert(&self) -> bool {
self.cert.is_some()
}
pub fn set_cert(&mut self, v: super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned) {
self.cert = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_cert(&mut self) -> &mut super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
if self.cert.is_none() {
self.cert.set_default();
}
self.cert.as_mut().unwrap()
}
pub fn take_cert(&mut self) -> super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
self.cert.take().unwrap_or_else(|| super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramConnectOK {
fn is_initialized(&self) -> bool {
for v in &self.crypt {
if !v.is_initialized() {
return false;
}
};
for v in &self.cert {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.client_connection_id = ::std::option::Option::Some(tmp);
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.server_connection_id = ::std::option::Option::Some(tmp);
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.your_timestamp = ::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_uint32()?;
self.delay_time_usec = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.gameserver_relay_session_id = ::std::option::Option::Some(tmp);
},
5 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.crypt)?;
},
6 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cert)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.client_connection_id {
my_size += 5;
}
if let Some(v) = self.server_connection_id {
my_size += 5;
}
if let Some(v) = self.your_timestamp {
my_size += 9;
}
if let Some(v) = self.delay_time_usec {
my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.gameserver_relay_session_id {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.crypt.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.cert.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
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.client_connection_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.server_connection_id {
os.write_fixed32(7, v)?;
}
if let Some(v) = self.your_timestamp {
os.write_fixed64(3, v)?;
}
if let Some(v) = self.delay_time_usec {
os.write_uint32(4, v)?;
}
if let Some(v) = self.gameserver_relay_session_id {
os.write_uint32(2, v)?;
}
if let Some(ref v) = self.crypt.as_ref() {
os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.cert.as_ref() {
os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramConnectOK {
CMsgSteamDatagramConnectOK::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"client_connection_id",
|m: &CMsgSteamDatagramConnectOK| { &m.client_connection_id },
|m: &mut CMsgSteamDatagramConnectOK| { &mut m.client_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"server_connection_id",
|m: &CMsgSteamDatagramConnectOK| { &m.server_connection_id },
|m: &mut CMsgSteamDatagramConnectOK| { &mut m.server_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"your_timestamp",
|m: &CMsgSteamDatagramConnectOK| { &m.your_timestamp },
|m: &mut CMsgSteamDatagramConnectOK| { &mut m.your_timestamp },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"delay_time_usec",
|m: &CMsgSteamDatagramConnectOK| { &m.delay_time_usec },
|m: &mut CMsgSteamDatagramConnectOK| { &mut m.delay_time_usec },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"gameserver_relay_session_id",
|m: &CMsgSteamDatagramConnectOK| { &m.gameserver_relay_session_id },
|m: &mut CMsgSteamDatagramConnectOK| { &mut m.gameserver_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramSessionCryptInfoSigned>>(
"crypt",
|m: &CMsgSteamDatagramConnectOK| { &m.crypt },
|m: &mut CMsgSteamDatagramConnectOK| { &mut m.crypt },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned>>(
"cert",
|m: &CMsgSteamDatagramConnectOK| { &m.cert },
|m: &mut CMsgSteamDatagramConnectOK| { &mut m.cert },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramConnectOK>(
"CMsgSteamDatagramConnectOK",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramConnectOK {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramConnectOK> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramConnectOK::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramConnectOK {
fn clear(&mut self) {
self.client_connection_id = ::std::option::Option::None;
self.server_connection_id = ::std::option::Option::None;
self.your_timestamp = ::std::option::Option::None;
self.delay_time_usec = ::std::option::Option::None;
self.gameserver_relay_session_id = ::std::option::Option::None;
self.crypt.clear();
self.cert.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramConnectOK {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectOK {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamNetworkingP2PSDRRoutingSummary {
initial_ping: ::std::option::Option<u32>,
initial_ping_front_local: ::std::option::Option<u32>,
initial_ping_front_remote: ::std::option::Option<u32>,
initial_score: ::std::option::Option<u32>,
initial_pop_local: ::std::option::Option<u32>,
initial_pop_remote: ::std::option::Option<u32>,
negotiation_ms: ::std::option::Option<u32>,
selected_seconds: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamNetworkingP2PSDRRoutingSummary {
fn default() -> &'a CMsgSteamNetworkingP2PSDRRoutingSummary {
<CMsgSteamNetworkingP2PSDRRoutingSummary as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamNetworkingP2PSDRRoutingSummary {
pub fn new() -> CMsgSteamNetworkingP2PSDRRoutingSummary {
::std::default::Default::default()
}
pub fn get_initial_ping(&self) -> u32 {
self.initial_ping.unwrap_or(0)
}
pub fn clear_initial_ping(&mut self) {
self.initial_ping = ::std::option::Option::None;
}
pub fn has_initial_ping(&self) -> bool {
self.initial_ping.is_some()
}
pub fn set_initial_ping(&mut self, v: u32) {
self.initial_ping = ::std::option::Option::Some(v);
}
pub fn get_initial_ping_front_local(&self) -> u32 {
self.initial_ping_front_local.unwrap_or(0)
}
pub fn clear_initial_ping_front_local(&mut self) {
self.initial_ping_front_local = ::std::option::Option::None;
}
pub fn has_initial_ping_front_local(&self) -> bool {
self.initial_ping_front_local.is_some()
}
pub fn set_initial_ping_front_local(&mut self, v: u32) {
self.initial_ping_front_local = ::std::option::Option::Some(v);
}
pub fn get_initial_ping_front_remote(&self) -> u32 {
self.initial_ping_front_remote.unwrap_or(0)
}
pub fn clear_initial_ping_front_remote(&mut self) {
self.initial_ping_front_remote = ::std::option::Option::None;
}
pub fn has_initial_ping_front_remote(&self) -> bool {
self.initial_ping_front_remote.is_some()
}
pub fn set_initial_ping_front_remote(&mut self, v: u32) {
self.initial_ping_front_remote = ::std::option::Option::Some(v);
}
pub fn get_initial_score(&self) -> u32 {
self.initial_score.unwrap_or(0)
}
pub fn clear_initial_score(&mut self) {
self.initial_score = ::std::option::Option::None;
}
pub fn has_initial_score(&self) -> bool {
self.initial_score.is_some()
}
pub fn set_initial_score(&mut self, v: u32) {
self.initial_score = ::std::option::Option::Some(v);
}
pub fn get_initial_pop_local(&self) -> u32 {
self.initial_pop_local.unwrap_or(0)
}
pub fn clear_initial_pop_local(&mut self) {
self.initial_pop_local = ::std::option::Option::None;
}
pub fn has_initial_pop_local(&self) -> bool {
self.initial_pop_local.is_some()
}
pub fn set_initial_pop_local(&mut self, v: u32) {
self.initial_pop_local = ::std::option::Option::Some(v);
}
pub fn get_initial_pop_remote(&self) -> u32 {
self.initial_pop_remote.unwrap_or(0)
}
pub fn clear_initial_pop_remote(&mut self) {
self.initial_pop_remote = ::std::option::Option::None;
}
pub fn has_initial_pop_remote(&self) -> bool {
self.initial_pop_remote.is_some()
}
pub fn set_initial_pop_remote(&mut self, v: u32) {
self.initial_pop_remote = ::std::option::Option::Some(v);
}
pub fn get_negotiation_ms(&self) -> u32 {
self.negotiation_ms.unwrap_or(0)
}
pub fn clear_negotiation_ms(&mut self) {
self.negotiation_ms = ::std::option::Option::None;
}
pub fn has_negotiation_ms(&self) -> bool {
self.negotiation_ms.is_some()
}
pub fn set_negotiation_ms(&mut self, v: u32) {
self.negotiation_ms = ::std::option::Option::Some(v);
}
pub fn get_selected_seconds(&self) -> u32 {
self.selected_seconds.unwrap_or(0)
}
pub fn clear_selected_seconds(&mut self) {
self.selected_seconds = ::std::option::Option::None;
}
pub fn has_selected_seconds(&self) -> bool {
self.selected_seconds.is_some()
}
pub fn set_selected_seconds(&mut self, v: u32) {
self.selected_seconds = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamNetworkingP2PSDRRoutingSummary {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.initial_ping = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.initial_ping_front_local = ::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_uint32()?;
self.initial_ping_front_remote = ::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_uint32()?;
self.initial_score = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.initial_pop_local = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.initial_pop_remote = ::std::option::Option::Some(tmp);
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.negotiation_ms = ::std::option::Option::Some(tmp);
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.selected_seconds = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.initial_ping {
my_size += ::protobuf::rt::value_size(1, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.initial_ping_front_local {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.initial_ping_front_remote {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.initial_score {
my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.initial_pop_local {
my_size += 5;
}
if let Some(v) = self.initial_pop_remote {
my_size += 5;
}
if let Some(v) = self.negotiation_ms {
my_size += ::protobuf::rt::value_size(7, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.selected_seconds {
my_size += ::protobuf::rt::value_size(8, 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.initial_ping {
os.write_uint32(1, v)?;
}
if let Some(v) = self.initial_ping_front_local {
os.write_uint32(2, v)?;
}
if let Some(v) = self.initial_ping_front_remote {
os.write_uint32(3, v)?;
}
if let Some(v) = self.initial_score {
os.write_uint32(4, v)?;
}
if let Some(v) = self.initial_pop_local {
os.write_fixed32(5, v)?;
}
if let Some(v) = self.initial_pop_remote {
os.write_fixed32(6, v)?;
}
if let Some(v) = self.negotiation_ms {
os.write_uint32(7, v)?;
}
if let Some(v) = self.selected_seconds {
os.write_uint32(8, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamNetworkingP2PSDRRoutingSummary {
CMsgSteamNetworkingP2PSDRRoutingSummary::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"initial_ping",
|m: &CMsgSteamNetworkingP2PSDRRoutingSummary| { &m.initial_ping },
|m: &mut CMsgSteamNetworkingP2PSDRRoutingSummary| { &mut m.initial_ping },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"initial_ping_front_local",
|m: &CMsgSteamNetworkingP2PSDRRoutingSummary| { &m.initial_ping_front_local },
|m: &mut CMsgSteamNetworkingP2PSDRRoutingSummary| { &mut m.initial_ping_front_local },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"initial_ping_front_remote",
|m: &CMsgSteamNetworkingP2PSDRRoutingSummary| { &m.initial_ping_front_remote },
|m: &mut CMsgSteamNetworkingP2PSDRRoutingSummary| { &mut m.initial_ping_front_remote },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"initial_score",
|m: &CMsgSteamNetworkingP2PSDRRoutingSummary| { &m.initial_score },
|m: &mut CMsgSteamNetworkingP2PSDRRoutingSummary| { &mut m.initial_score },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"initial_pop_local",
|m: &CMsgSteamNetworkingP2PSDRRoutingSummary| { &m.initial_pop_local },
|m: &mut CMsgSteamNetworkingP2PSDRRoutingSummary| { &mut m.initial_pop_local },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"initial_pop_remote",
|m: &CMsgSteamNetworkingP2PSDRRoutingSummary| { &m.initial_pop_remote },
|m: &mut CMsgSteamNetworkingP2PSDRRoutingSummary| { &mut m.initial_pop_remote },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"negotiation_ms",
|m: &CMsgSteamNetworkingP2PSDRRoutingSummary| { &m.negotiation_ms },
|m: &mut CMsgSteamNetworkingP2PSDRRoutingSummary| { &mut m.negotiation_ms },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"selected_seconds",
|m: &CMsgSteamNetworkingP2PSDRRoutingSummary| { &m.selected_seconds },
|m: &mut CMsgSteamNetworkingP2PSDRRoutingSummary| { &mut m.selected_seconds },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamNetworkingP2PSDRRoutingSummary>(
"CMsgSteamNetworkingP2PSDRRoutingSummary",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamNetworkingP2PSDRRoutingSummary {
static instance: ::protobuf::rt::LazyV2<CMsgSteamNetworkingP2PSDRRoutingSummary> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamNetworkingP2PSDRRoutingSummary::new)
}
}
impl ::protobuf::Clear for CMsgSteamNetworkingP2PSDRRoutingSummary {
fn clear(&mut self) {
self.initial_ping = ::std::option::Option::None;
self.initial_ping_front_local = ::std::option::Option::None;
self.initial_ping_front_remote = ::std::option::Option::None;
self.initial_score = ::std::option::Option::None;
self.initial_pop_local = ::std::option::Option::None;
self.initial_pop_remote = ::std::option::Option::None;
self.negotiation_ms = ::std::option::Option::None;
self.selected_seconds = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamNetworkingP2PSDRRoutingSummary {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamNetworkingP2PSDRRoutingSummary {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramP2PRoutingSummary {
pub ice: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamNetworkingICESessionSummary>,
pub sdr: ::protobuf::SingularPtrField<CMsgSteamNetworkingP2PSDRRoutingSummary>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramP2PRoutingSummary {
fn default() -> &'a CMsgSteamDatagramP2PRoutingSummary {
<CMsgSteamDatagramP2PRoutingSummary as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramP2PRoutingSummary {
pub fn new() -> CMsgSteamDatagramP2PRoutingSummary {
::std::default::Default::default()
}
pub fn get_ice(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamNetworkingICESessionSummary {
self.ice.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamNetworkingICESessionSummary as ::protobuf::Message>::default_instance())
}
pub fn clear_ice(&mut self) {
self.ice.clear();
}
pub fn has_ice(&self) -> bool {
self.ice.is_some()
}
pub fn set_ice(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamNetworkingICESessionSummary) {
self.ice = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_ice(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamNetworkingICESessionSummary {
if self.ice.is_none() {
self.ice.set_default();
}
self.ice.as_mut().unwrap()
}
pub fn take_ice(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamNetworkingICESessionSummary {
self.ice.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamNetworkingICESessionSummary::new())
}
pub fn get_sdr(&self) -> &CMsgSteamNetworkingP2PSDRRoutingSummary {
self.sdr.as_ref().unwrap_or_else(|| <CMsgSteamNetworkingP2PSDRRoutingSummary as ::protobuf::Message>::default_instance())
}
pub fn clear_sdr(&mut self) {
self.sdr.clear();
}
pub fn has_sdr(&self) -> bool {
self.sdr.is_some()
}
pub fn set_sdr(&mut self, v: CMsgSteamNetworkingP2PSDRRoutingSummary) {
self.sdr = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_sdr(&mut self) -> &mut CMsgSteamNetworkingP2PSDRRoutingSummary {
if self.sdr.is_none() {
self.sdr.set_default();
}
self.sdr.as_mut().unwrap()
}
pub fn take_sdr(&mut self) -> CMsgSteamNetworkingP2PSDRRoutingSummary {
self.sdr.take().unwrap_or_else(|| CMsgSteamNetworkingP2PSDRRoutingSummary::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramP2PRoutingSummary {
fn is_initialized(&self) -> bool {
for v in &self.ice {
if !v.is_initialized() {
return false;
}
};
for v in &self.sdr {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.ice)?;
},
3 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.sdr)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.ice.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.sdr.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
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.ice.as_ref() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.sdr.as_ref() {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramP2PRoutingSummary {
CMsgSteamDatagramP2PRoutingSummary::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamNetworkingICESessionSummary>>(
"ice",
|m: &CMsgSteamDatagramP2PRoutingSummary| { &m.ice },
|m: &mut CMsgSteamDatagramP2PRoutingSummary| { &mut m.ice },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamNetworkingP2PSDRRoutingSummary>>(
"sdr",
|m: &CMsgSteamDatagramP2PRoutingSummary| { &m.sdr },
|m: &mut CMsgSteamDatagramP2PRoutingSummary| { &mut m.sdr },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramP2PRoutingSummary>(
"CMsgSteamDatagramP2PRoutingSummary",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramP2PRoutingSummary {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramP2PRoutingSummary> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramP2PRoutingSummary::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramP2PRoutingSummary {
fn clear(&mut self) {
self.ice.clear();
self.sdr.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramP2PRoutingSummary {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramP2PRoutingSummary {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramConnectionClosed {
to_connection_id: ::std::option::Option<u32>,
from_connection_id: ::std::option::Option<u32>,
from_identity_string: ::protobuf::SingularField<::std::string::String>,
pub legacy_from_identity_binary: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages_certs::CMsgSteamNetworkingIdentityLegacyBinary>,
legacy_from_steam_id: ::std::option::Option<u64>,
legacy_gameserver_relay_session_id: ::std::option::Option<u32>,
to_relay_session_id: ::std::option::Option<u32>,
from_relay_session_id: ::std::option::Option<u32>,
forward_target_relay_routing_token: ::protobuf::SingularField<::std::vec::Vec<u8>>,
forward_target_revision: ::std::option::Option<u32>,
relay_mode: ::std::option::Option<CMsgSteamDatagramConnectionClosed_ERelayMode>,
debug: ::protobuf::SingularField<::std::string::String>,
reason_code: ::std::option::Option<u32>,
routing_secret: ::std::option::Option<u64>,
not_primary_session: ::std::option::Option<bool>,
not_primary_transport: ::std::option::Option<bool>,
pub quality_relay: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub quality_e2e: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub p2p_routing_summary: ::protobuf::SingularPtrField<CMsgSteamDatagramP2PRoutingSummary>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramConnectionClosed {
fn default() -> &'a CMsgSteamDatagramConnectionClosed {
<CMsgSteamDatagramConnectionClosed as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramConnectionClosed {
pub fn new() -> CMsgSteamDatagramConnectionClosed {
::std::default::Default::default()
}
pub fn get_to_connection_id(&self) -> u32 {
self.to_connection_id.unwrap_or(0)
}
pub fn clear_to_connection_id(&mut self) {
self.to_connection_id = ::std::option::Option::None;
}
pub fn has_to_connection_id(&self) -> bool {
self.to_connection_id.is_some()
}
pub fn set_to_connection_id(&mut self, v: u32) {
self.to_connection_id = ::std::option::Option::Some(v);
}
pub fn get_from_connection_id(&self) -> u32 {
self.from_connection_id.unwrap_or(0)
}
pub fn clear_from_connection_id(&mut self) {
self.from_connection_id = ::std::option::Option::None;
}
pub fn has_from_connection_id(&self) -> bool {
self.from_connection_id.is_some()
}
pub fn set_from_connection_id(&mut self, v: u32) {
self.from_connection_id = ::std::option::Option::Some(v);
}
pub fn get_from_identity_string(&self) -> &str {
match self.from_identity_string.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_from_identity_string(&mut self) {
self.from_identity_string.clear();
}
pub fn has_from_identity_string(&self) -> bool {
self.from_identity_string.is_some()
}
pub fn set_from_identity_string(&mut self, v: ::std::string::String) {
self.from_identity_string = ::protobuf::SingularField::some(v);
}
pub fn mut_from_identity_string(&mut self) -> &mut ::std::string::String {
if self.from_identity_string.is_none() {
self.from_identity_string.set_default();
}
self.from_identity_string.as_mut().unwrap()
}
pub fn take_from_identity_string(&mut self) -> ::std::string::String {
self.from_identity_string.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_legacy_from_identity_binary(&self) -> &super::steamnetworkingsockets_messages_certs::CMsgSteamNetworkingIdentityLegacyBinary {
self.legacy_from_identity_binary.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages_certs::CMsgSteamNetworkingIdentityLegacyBinary as ::protobuf::Message>::default_instance())
}
pub fn clear_legacy_from_identity_binary(&mut self) {
self.legacy_from_identity_binary.clear();
}
pub fn has_legacy_from_identity_binary(&self) -> bool {
self.legacy_from_identity_binary.is_some()
}
pub fn set_legacy_from_identity_binary(&mut self, v: super::steamnetworkingsockets_messages_certs::CMsgSteamNetworkingIdentityLegacyBinary) {
self.legacy_from_identity_binary = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_legacy_from_identity_binary(&mut self) -> &mut super::steamnetworkingsockets_messages_certs::CMsgSteamNetworkingIdentityLegacyBinary {
if self.legacy_from_identity_binary.is_none() {
self.legacy_from_identity_binary.set_default();
}
self.legacy_from_identity_binary.as_mut().unwrap()
}
pub fn take_legacy_from_identity_binary(&mut self) -> super::steamnetworkingsockets_messages_certs::CMsgSteamNetworkingIdentityLegacyBinary {
self.legacy_from_identity_binary.take().unwrap_or_else(|| super::steamnetworkingsockets_messages_certs::CMsgSteamNetworkingIdentityLegacyBinary::new())
}
pub fn get_legacy_from_steam_id(&self) -> u64 {
self.legacy_from_steam_id.unwrap_or(0)
}
pub fn clear_legacy_from_steam_id(&mut self) {
self.legacy_from_steam_id = ::std::option::Option::None;
}
pub fn has_legacy_from_steam_id(&self) -> bool {
self.legacy_from_steam_id.is_some()
}
pub fn set_legacy_from_steam_id(&mut self, v: u64) {
self.legacy_from_steam_id = ::std::option::Option::Some(v);
}
pub fn get_legacy_gameserver_relay_session_id(&self) -> u32 {
self.legacy_gameserver_relay_session_id.unwrap_or(0)
}
pub fn clear_legacy_gameserver_relay_session_id(&mut self) {
self.legacy_gameserver_relay_session_id = ::std::option::Option::None;
}
pub fn has_legacy_gameserver_relay_session_id(&self) -> bool {
self.legacy_gameserver_relay_session_id.is_some()
}
pub fn set_legacy_gameserver_relay_session_id(&mut self, v: u32) {
self.legacy_gameserver_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_to_relay_session_id(&self) -> u32 {
self.to_relay_session_id.unwrap_or(0)
}
pub fn clear_to_relay_session_id(&mut self) {
self.to_relay_session_id = ::std::option::Option::None;
}
pub fn has_to_relay_session_id(&self) -> bool {
self.to_relay_session_id.is_some()
}
pub fn set_to_relay_session_id(&mut self, v: u32) {
self.to_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_from_relay_session_id(&self) -> u32 {
self.from_relay_session_id.unwrap_or(0)
}
pub fn clear_from_relay_session_id(&mut self) {
self.from_relay_session_id = ::std::option::Option::None;
}
pub fn has_from_relay_session_id(&self) -> bool {
self.from_relay_session_id.is_some()
}
pub fn set_from_relay_session_id(&mut self, v: u32) {
self.from_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_forward_target_relay_routing_token(&self) -> &[u8] {
match self.forward_target_relay_routing_token.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_forward_target_relay_routing_token(&mut self) {
self.forward_target_relay_routing_token.clear();
}
pub fn has_forward_target_relay_routing_token(&self) -> bool {
self.forward_target_relay_routing_token.is_some()
}
pub fn set_forward_target_relay_routing_token(&mut self, v: ::std::vec::Vec<u8>) {
self.forward_target_relay_routing_token = ::protobuf::SingularField::some(v);
}
pub fn mut_forward_target_relay_routing_token(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.forward_target_relay_routing_token.is_none() {
self.forward_target_relay_routing_token.set_default();
}
self.forward_target_relay_routing_token.as_mut().unwrap()
}
pub fn take_forward_target_relay_routing_token(&mut self) -> ::std::vec::Vec<u8> {
self.forward_target_relay_routing_token.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_forward_target_revision(&self) -> u32 {
self.forward_target_revision.unwrap_or(0)
}
pub fn clear_forward_target_revision(&mut self) {
self.forward_target_revision = ::std::option::Option::None;
}
pub fn has_forward_target_revision(&self) -> bool {
self.forward_target_revision.is_some()
}
pub fn set_forward_target_revision(&mut self, v: u32) {
self.forward_target_revision = ::std::option::Option::Some(v);
}
pub fn get_relay_mode(&self) -> CMsgSteamDatagramConnectionClosed_ERelayMode {
self.relay_mode.unwrap_or(CMsgSteamDatagramConnectionClosed_ERelayMode::None)
}
pub fn clear_relay_mode(&mut self) {
self.relay_mode = ::std::option::Option::None;
}
pub fn has_relay_mode(&self) -> bool {
self.relay_mode.is_some()
}
pub fn set_relay_mode(&mut self, v: CMsgSteamDatagramConnectionClosed_ERelayMode) {
self.relay_mode = ::std::option::Option::Some(v);
}
pub fn get_debug(&self) -> &str {
match self.debug.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_debug(&mut self) {
self.debug.clear();
}
pub fn has_debug(&self) -> bool {
self.debug.is_some()
}
pub fn set_debug(&mut self, v: ::std::string::String) {
self.debug = ::protobuf::SingularField::some(v);
}
pub fn mut_debug(&mut self) -> &mut ::std::string::String {
if self.debug.is_none() {
self.debug.set_default();
}
self.debug.as_mut().unwrap()
}
pub fn take_debug(&mut self) -> ::std::string::String {
self.debug.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_reason_code(&self) -> u32 {
self.reason_code.unwrap_or(0)
}
pub fn clear_reason_code(&mut self) {
self.reason_code = ::std::option::Option::None;
}
pub fn has_reason_code(&self) -> bool {
self.reason_code.is_some()
}
pub fn set_reason_code(&mut self, v: u32) {
self.reason_code = ::std::option::Option::Some(v);
}
pub fn get_routing_secret(&self) -> u64 {
self.routing_secret.unwrap_or(0)
}
pub fn clear_routing_secret(&mut self) {
self.routing_secret = ::std::option::Option::None;
}
pub fn has_routing_secret(&self) -> bool {
self.routing_secret.is_some()
}
pub fn set_routing_secret(&mut self, v: u64) {
self.routing_secret = ::std::option::Option::Some(v);
}
pub fn get_not_primary_session(&self) -> bool {
self.not_primary_session.unwrap_or(false)
}
pub fn clear_not_primary_session(&mut self) {
self.not_primary_session = ::std::option::Option::None;
}
pub fn has_not_primary_session(&self) -> bool {
self.not_primary_session.is_some()
}
pub fn set_not_primary_session(&mut self, v: bool) {
self.not_primary_session = ::std::option::Option::Some(v);
}
pub fn get_not_primary_transport(&self) -> bool {
self.not_primary_transport.unwrap_or(false)
}
pub fn clear_not_primary_transport(&mut self) {
self.not_primary_transport = ::std::option::Option::None;
}
pub fn has_not_primary_transport(&self) -> bool {
self.not_primary_transport.is_some()
}
pub fn set_not_primary_transport(&mut self, v: bool) {
self.not_primary_transport = ::std::option::Option::Some(v);
}
pub fn get_quality_relay(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_relay(&mut self) {
self.quality_relay.clear();
}
pub fn has_quality_relay(&self) -> bool {
self.quality_relay.is_some()
}
pub fn set_quality_relay(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_relay = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_relay(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_relay.is_none() {
self.quality_relay.set_default();
}
self.quality_relay.as_mut().unwrap()
}
pub fn take_quality_relay(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_quality_e2e(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_e2e(&mut self) {
self.quality_e2e.clear();
}
pub fn has_quality_e2e(&self) -> bool {
self.quality_e2e.is_some()
}
pub fn set_quality_e2e(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_e2e = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_e2e(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_e2e.is_none() {
self.quality_e2e.set_default();
}
self.quality_e2e.as_mut().unwrap()
}
pub fn take_quality_e2e(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_p2p_routing_summary(&self) -> &CMsgSteamDatagramP2PRoutingSummary {
self.p2p_routing_summary.as_ref().unwrap_or_else(|| <CMsgSteamDatagramP2PRoutingSummary as ::protobuf::Message>::default_instance())
}
pub fn clear_p2p_routing_summary(&mut self) {
self.p2p_routing_summary.clear();
}
pub fn has_p2p_routing_summary(&self) -> bool {
self.p2p_routing_summary.is_some()
}
pub fn set_p2p_routing_summary(&mut self, v: CMsgSteamDatagramP2PRoutingSummary) {
self.p2p_routing_summary = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_p2p_routing_summary(&mut self) -> &mut CMsgSteamDatagramP2PRoutingSummary {
if self.p2p_routing_summary.is_none() {
self.p2p_routing_summary.set_default();
}
self.p2p_routing_summary.as_mut().unwrap()
}
pub fn take_p2p_routing_summary(&mut self) -> CMsgSteamDatagramP2PRoutingSummary {
self.p2p_routing_summary.take().unwrap_or_else(|| CMsgSteamDatagramP2PRoutingSummary::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramConnectionClosed {
fn is_initialized(&self) -> bool {
for v in &self.legacy_from_identity_binary {
if !v.is_initialized() {
return false;
}
};
for v in &self.quality_relay {
if !v.is_initialized() {
return false;
}
};
for v in &self.quality_e2e {
if !v.is_initialized() {
return false;
}
};
for v in &self.p2p_routing_summary {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
7 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.to_connection_id = ::std::option::Option::Some(tmp);
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.from_connection_id = ::std::option::Option::Some(tmp);
},
15 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.from_identity_string)?;
},
13 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.legacy_from_identity_binary)?;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.legacy_from_steam_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.legacy_gameserver_relay_session_id = ::std::option::Option::Some(tmp);
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.to_relay_session_id = ::std::option::Option::Some(tmp);
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.from_relay_session_id = ::std::option::Option::Some(tmp);
},
11 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.forward_target_relay_routing_token)?;
},
12 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.forward_target_revision = ::std::option::Option::Some(tmp);
},
4 => {
::protobuf::rt::read_proto2_enum_with_unknown_fields_into(wire_type, is, &mut self.relay_mode, 4, &mut self.unknown_fields)?
},
5 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.debug)?;
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.reason_code = ::std::option::Option::Some(tmp);
},
14 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.routing_secret = ::std::option::Option::Some(tmp);
},
16 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.not_primary_session = ::std::option::Option::Some(tmp);
},
19 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.not_primary_transport = ::std::option::Option::Some(tmp);
},
17 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_relay)?;
},
18 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_e2e)?;
},
21 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.p2p_routing_summary)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.to_connection_id {
my_size += 5;
}
if let Some(v) = self.from_connection_id {
my_size += 5;
}
if let Some(ref v) = self.from_identity_string.as_ref() {
my_size += ::protobuf::rt::string_size(15, &v);
}
if let Some(ref v) = self.legacy_from_identity_binary.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(v) = self.legacy_from_steam_id {
my_size += 9;
}
if let Some(v) = self.legacy_gameserver_relay_session_id {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.to_relay_session_id {
my_size += 5;
}
if let Some(v) = self.from_relay_session_id {
my_size += 5;
}
if let Some(ref v) = self.forward_target_relay_routing_token.as_ref() {
my_size += ::protobuf::rt::bytes_size(11, &v);
}
if let Some(v) = self.forward_target_revision {
my_size += ::protobuf::rt::value_size(12, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.relay_mode {
my_size += ::protobuf::rt::enum_size(4, v);
}
if let Some(ref v) = self.debug.as_ref() {
my_size += ::protobuf::rt::string_size(5, &v);
}
if let Some(v) = self.reason_code {
my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.routing_secret {
my_size += 9;
}
if let Some(v) = self.not_primary_session {
my_size += 3;
}
if let Some(v) = self.not_primary_transport {
my_size += 3;
}
if let Some(ref v) = self.quality_relay.as_ref() {
let len = v.compute_size();
my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
let len = v.compute_size();
my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.p2p_routing_summary.as_ref() {
let len = v.compute_size();
my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
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.to_connection_id {
os.write_fixed32(7, v)?;
}
if let Some(v) = self.from_connection_id {
os.write_fixed32(8, v)?;
}
if let Some(ref v) = self.from_identity_string.as_ref() {
os.write_string(15, &v)?;
}
if let Some(ref v) = self.legacy_from_identity_binary.as_ref() {
os.write_tag(13, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(v) = self.legacy_from_steam_id {
os.write_fixed64(3, v)?;
}
if let Some(v) = self.legacy_gameserver_relay_session_id {
os.write_uint32(2, v)?;
}
if let Some(v) = self.to_relay_session_id {
os.write_fixed32(9, v)?;
}
if let Some(v) = self.from_relay_session_id {
os.write_fixed32(10, v)?;
}
if let Some(ref v) = self.forward_target_relay_routing_token.as_ref() {
os.write_bytes(11, &v)?;
}
if let Some(v) = self.forward_target_revision {
os.write_uint32(12, v)?;
}
if let Some(v) = self.relay_mode {
os.write_enum(4, ::protobuf::ProtobufEnum::value(&v))?;
}
if let Some(ref v) = self.debug.as_ref() {
os.write_string(5, &v)?;
}
if let Some(v) = self.reason_code {
os.write_uint32(6, v)?;
}
if let Some(v) = self.routing_secret {
os.write_fixed64(14, v)?;
}
if let Some(v) = self.not_primary_session {
os.write_bool(16, v)?;
}
if let Some(v) = self.not_primary_transport {
os.write_bool(19, v)?;
}
if let Some(ref v) = self.quality_relay.as_ref() {
os.write_tag(17, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
os.write_tag(18, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.p2p_routing_summary.as_ref() {
os.write_tag(21, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramConnectionClosed {
CMsgSteamDatagramConnectionClosed::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"to_connection_id",
|m: &CMsgSteamDatagramConnectionClosed| { &m.to_connection_id },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.to_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"from_connection_id",
|m: &CMsgSteamDatagramConnectionClosed| { &m.from_connection_id },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.from_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"from_identity_string",
|m: &CMsgSteamDatagramConnectionClosed| { &m.from_identity_string },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.from_identity_string },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages_certs::CMsgSteamNetworkingIdentityLegacyBinary>>(
"legacy_from_identity_binary",
|m: &CMsgSteamDatagramConnectionClosed| { &m.legacy_from_identity_binary },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.legacy_from_identity_binary },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"legacy_from_steam_id",
|m: &CMsgSteamDatagramConnectionClosed| { &m.legacy_from_steam_id },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.legacy_from_steam_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"legacy_gameserver_relay_session_id",
|m: &CMsgSteamDatagramConnectionClosed| { &m.legacy_gameserver_relay_session_id },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.legacy_gameserver_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"to_relay_session_id",
|m: &CMsgSteamDatagramConnectionClosed| { &m.to_relay_session_id },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.to_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"from_relay_session_id",
|m: &CMsgSteamDatagramConnectionClosed| { &m.from_relay_session_id },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.from_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"forward_target_relay_routing_token",
|m: &CMsgSteamDatagramConnectionClosed| { &m.forward_target_relay_routing_token },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.forward_target_relay_routing_token },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"forward_target_revision",
|m: &CMsgSteamDatagramConnectionClosed| { &m.forward_target_revision },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.forward_target_revision },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeEnum<CMsgSteamDatagramConnectionClosed_ERelayMode>>(
"relay_mode",
|m: &CMsgSteamDatagramConnectionClosed| { &m.relay_mode },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.relay_mode },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"debug",
|m: &CMsgSteamDatagramConnectionClosed| { &m.debug },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.debug },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"reason_code",
|m: &CMsgSteamDatagramConnectionClosed| { &m.reason_code },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.reason_code },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"routing_secret",
|m: &CMsgSteamDatagramConnectionClosed| { &m.routing_secret },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.routing_secret },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"not_primary_session",
|m: &CMsgSteamDatagramConnectionClosed| { &m.not_primary_session },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.not_primary_session },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"not_primary_transport",
|m: &CMsgSteamDatagramConnectionClosed| { &m.not_primary_transport },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.not_primary_transport },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_relay",
|m: &CMsgSteamDatagramConnectionClosed| { &m.quality_relay },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.quality_relay },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_e2e",
|m: &CMsgSteamDatagramConnectionClosed| { &m.quality_e2e },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.quality_e2e },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramP2PRoutingSummary>>(
"p2p_routing_summary",
|m: &CMsgSteamDatagramConnectionClosed| { &m.p2p_routing_summary },
|m: &mut CMsgSteamDatagramConnectionClosed| { &mut m.p2p_routing_summary },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramConnectionClosed>(
"CMsgSteamDatagramConnectionClosed",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramConnectionClosed {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramConnectionClosed> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramConnectionClosed::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramConnectionClosed {
fn clear(&mut self) {
self.to_connection_id = ::std::option::Option::None;
self.from_connection_id = ::std::option::Option::None;
self.from_identity_string.clear();
self.legacy_from_identity_binary.clear();
self.legacy_from_steam_id = ::std::option::Option::None;
self.legacy_gameserver_relay_session_id = ::std::option::Option::None;
self.to_relay_session_id = ::std::option::Option::None;
self.from_relay_session_id = ::std::option::Option::None;
self.forward_target_relay_routing_token.clear();
self.forward_target_revision = ::std::option::Option::None;
self.relay_mode = ::std::option::Option::None;
self.debug.clear();
self.reason_code = ::std::option::Option::None;
self.routing_secret = ::std::option::Option::None;
self.not_primary_session = ::std::option::Option::None;
self.not_primary_transport = ::std::option::Option::None;
self.quality_relay.clear();
self.quality_e2e.clear();
self.p2p_routing_summary.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramConnectionClosed {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionClosed {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum CMsgSteamDatagramConnectionClosed_ERelayMode {
None = 0,
EndToEnd = 1,
ClosedByPeer = 2,
}
impl ::protobuf::ProtobufEnum for CMsgSteamDatagramConnectionClosed_ERelayMode {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<CMsgSteamDatagramConnectionClosed_ERelayMode> {
match value {
0 => ::std::option::Option::Some(CMsgSteamDatagramConnectionClosed_ERelayMode::None),
1 => ::std::option::Option::Some(CMsgSteamDatagramConnectionClosed_ERelayMode::EndToEnd),
2 => ::std::option::Option::Some(CMsgSteamDatagramConnectionClosed_ERelayMode::ClosedByPeer),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [CMsgSteamDatagramConnectionClosed_ERelayMode] = &[
CMsgSteamDatagramConnectionClosed_ERelayMode::None,
CMsgSteamDatagramConnectionClosed_ERelayMode::EndToEnd,
CMsgSteamDatagramConnectionClosed_ERelayMode::ClosedByPeer,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<CMsgSteamDatagramConnectionClosed_ERelayMode>("CMsgSteamDatagramConnectionClosed.ERelayMode", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for CMsgSteamDatagramConnectionClosed_ERelayMode {
}
impl ::std::default::Default for CMsgSteamDatagramConnectionClosed_ERelayMode {
fn default() -> Self {
CMsgSteamDatagramConnectionClosed_ERelayMode::None
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionClosed_ERelayMode {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramNoConnection {
to_connection_id: ::std::option::Option<u32>,
from_connection_id: ::std::option::Option<u32>,
legacy_gameserver_relay_session_id: ::std::option::Option<u32>,
to_relay_session_id: ::std::option::Option<u32>,
from_relay_session_id: ::std::option::Option<u32>,
from_identity_string: ::protobuf::SingularField<::std::string::String>,
legacy_from_steam_id: ::std::option::Option<u64>,
end_to_end: ::std::option::Option<bool>,
not_primary_session: ::std::option::Option<bool>,
not_primary_transport: ::std::option::Option<bool>,
pub quality_relay: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub quality_e2e: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub p2p_routing_summary: ::protobuf::SingularPtrField<CMsgSteamDatagramP2PRoutingSummary>,
routing_secret: ::std::option::Option<u64>,
dummy_pad: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramNoConnection {
fn default() -> &'a CMsgSteamDatagramNoConnection {
<CMsgSteamDatagramNoConnection as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramNoConnection {
pub fn new() -> CMsgSteamDatagramNoConnection {
::std::default::Default::default()
}
pub fn get_to_connection_id(&self) -> u32 {
self.to_connection_id.unwrap_or(0)
}
pub fn clear_to_connection_id(&mut self) {
self.to_connection_id = ::std::option::Option::None;
}
pub fn has_to_connection_id(&self) -> bool {
self.to_connection_id.is_some()
}
pub fn set_to_connection_id(&mut self, v: u32) {
self.to_connection_id = ::std::option::Option::Some(v);
}
pub fn get_from_connection_id(&self) -> u32 {
self.from_connection_id.unwrap_or(0)
}
pub fn clear_from_connection_id(&mut self) {
self.from_connection_id = ::std::option::Option::None;
}
pub fn has_from_connection_id(&self) -> bool {
self.from_connection_id.is_some()
}
pub fn set_from_connection_id(&mut self, v: u32) {
self.from_connection_id = ::std::option::Option::Some(v);
}
pub fn get_legacy_gameserver_relay_session_id(&self) -> u32 {
self.legacy_gameserver_relay_session_id.unwrap_or(0)
}
pub fn clear_legacy_gameserver_relay_session_id(&mut self) {
self.legacy_gameserver_relay_session_id = ::std::option::Option::None;
}
pub fn has_legacy_gameserver_relay_session_id(&self) -> bool {
self.legacy_gameserver_relay_session_id.is_some()
}
pub fn set_legacy_gameserver_relay_session_id(&mut self, v: u32) {
self.legacy_gameserver_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_to_relay_session_id(&self) -> u32 {
self.to_relay_session_id.unwrap_or(0)
}
pub fn clear_to_relay_session_id(&mut self) {
self.to_relay_session_id = ::std::option::Option::None;
}
pub fn has_to_relay_session_id(&self) -> bool {
self.to_relay_session_id.is_some()
}
pub fn set_to_relay_session_id(&mut self, v: u32) {
self.to_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_from_relay_session_id(&self) -> u32 {
self.from_relay_session_id.unwrap_or(0)
}
pub fn clear_from_relay_session_id(&mut self) {
self.from_relay_session_id = ::std::option::Option::None;
}
pub fn has_from_relay_session_id(&self) -> bool {
self.from_relay_session_id.is_some()
}
pub fn set_from_relay_session_id(&mut self, v: u32) {
self.from_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_from_identity_string(&self) -> &str {
match self.from_identity_string.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_from_identity_string(&mut self) {
self.from_identity_string.clear();
}
pub fn has_from_identity_string(&self) -> bool {
self.from_identity_string.is_some()
}
pub fn set_from_identity_string(&mut self, v: ::std::string::String) {
self.from_identity_string = ::protobuf::SingularField::some(v);
}
pub fn mut_from_identity_string(&mut self) -> &mut ::std::string::String {
if self.from_identity_string.is_none() {
self.from_identity_string.set_default();
}
self.from_identity_string.as_mut().unwrap()
}
pub fn take_from_identity_string(&mut self) -> ::std::string::String {
self.from_identity_string.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_legacy_from_steam_id(&self) -> u64 {
self.legacy_from_steam_id.unwrap_or(0)
}
pub fn clear_legacy_from_steam_id(&mut self) {
self.legacy_from_steam_id = ::std::option::Option::None;
}
pub fn has_legacy_from_steam_id(&self) -> bool {
self.legacy_from_steam_id.is_some()
}
pub fn set_legacy_from_steam_id(&mut self, v: u64) {
self.legacy_from_steam_id = ::std::option::Option::Some(v);
}
pub fn get_end_to_end(&self) -> bool {
self.end_to_end.unwrap_or(false)
}
pub fn clear_end_to_end(&mut self) {
self.end_to_end = ::std::option::Option::None;
}
pub fn has_end_to_end(&self) -> bool {
self.end_to_end.is_some()
}
pub fn set_end_to_end(&mut self, v: bool) {
self.end_to_end = ::std::option::Option::Some(v);
}
pub fn get_not_primary_session(&self) -> bool {
self.not_primary_session.unwrap_or(false)
}
pub fn clear_not_primary_session(&mut self) {
self.not_primary_session = ::std::option::Option::None;
}
pub fn has_not_primary_session(&self) -> bool {
self.not_primary_session.is_some()
}
pub fn set_not_primary_session(&mut self, v: bool) {
self.not_primary_session = ::std::option::Option::Some(v);
}
pub fn get_not_primary_transport(&self) -> bool {
self.not_primary_transport.unwrap_or(false)
}
pub fn clear_not_primary_transport(&mut self) {
self.not_primary_transport = ::std::option::Option::None;
}
pub fn has_not_primary_transport(&self) -> bool {
self.not_primary_transport.is_some()
}
pub fn set_not_primary_transport(&mut self, v: bool) {
self.not_primary_transport = ::std::option::Option::Some(v);
}
pub fn get_quality_relay(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_relay(&mut self) {
self.quality_relay.clear();
}
pub fn has_quality_relay(&self) -> bool {
self.quality_relay.is_some()
}
pub fn set_quality_relay(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_relay = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_relay(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_relay.is_none() {
self.quality_relay.set_default();
}
self.quality_relay.as_mut().unwrap()
}
pub fn take_quality_relay(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_quality_e2e(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_e2e(&mut self) {
self.quality_e2e.clear();
}
pub fn has_quality_e2e(&self) -> bool {
self.quality_e2e.is_some()
}
pub fn set_quality_e2e(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_e2e = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_e2e(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_e2e.is_none() {
self.quality_e2e.set_default();
}
self.quality_e2e.as_mut().unwrap()
}
pub fn take_quality_e2e(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_p2p_routing_summary(&self) -> &CMsgSteamDatagramP2PRoutingSummary {
self.p2p_routing_summary.as_ref().unwrap_or_else(|| <CMsgSteamDatagramP2PRoutingSummary as ::protobuf::Message>::default_instance())
}
pub fn clear_p2p_routing_summary(&mut self) {
self.p2p_routing_summary.clear();
}
pub fn has_p2p_routing_summary(&self) -> bool {
self.p2p_routing_summary.is_some()
}
pub fn set_p2p_routing_summary(&mut self, v: CMsgSteamDatagramP2PRoutingSummary) {
self.p2p_routing_summary = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_p2p_routing_summary(&mut self) -> &mut CMsgSteamDatagramP2PRoutingSummary {
if self.p2p_routing_summary.is_none() {
self.p2p_routing_summary.set_default();
}
self.p2p_routing_summary.as_mut().unwrap()
}
pub fn take_p2p_routing_summary(&mut self) -> CMsgSteamDatagramP2PRoutingSummary {
self.p2p_routing_summary.take().unwrap_or_else(|| CMsgSteamDatagramP2PRoutingSummary::new())
}
pub fn get_routing_secret(&self) -> u64 {
self.routing_secret.unwrap_or(0)
}
pub fn clear_routing_secret(&mut self) {
self.routing_secret = ::std::option::Option::None;
}
pub fn has_routing_secret(&self) -> bool {
self.routing_secret.is_some()
}
pub fn set_routing_secret(&mut self, v: u64) {
self.routing_secret = ::std::option::Option::Some(v);
}
pub fn get_dummy_pad(&self) -> u32 {
self.dummy_pad.unwrap_or(0)
}
pub fn clear_dummy_pad(&mut self) {
self.dummy_pad = ::std::option::Option::None;
}
pub fn has_dummy_pad(&self) -> bool {
self.dummy_pad.is_some()
}
pub fn set_dummy_pad(&mut self, v: u32) {
self.dummy_pad = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramNoConnection {
fn is_initialized(&self) -> bool {
for v in &self.quality_relay {
if !v.is_initialized() {
return false;
}
};
for v in &self.quality_e2e {
if !v.is_initialized() {
return false;
}
};
for v in &self.p2p_routing_summary {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
5 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.to_connection_id = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.from_connection_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.legacy_gameserver_relay_session_id = ::std::option::Option::Some(tmp);
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.to_relay_session_id = ::std::option::Option::Some(tmp);
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.from_relay_session_id = ::std::option::Option::Some(tmp);
},
7 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.from_identity_string)?;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.legacy_from_steam_id = ::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_bool()?;
self.end_to_end = ::std::option::Option::Some(tmp);
},
12 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.not_primary_session = ::std::option::Option::Some(tmp);
},
15 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_bool()?;
self.not_primary_transport = ::std::option::Option::Some(tmp);
},
13 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_relay)?;
},
14 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_e2e)?;
},
16 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.p2p_routing_summary)?;
},
11 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.routing_secret = ::std::option::Option::Some(tmp);
},
1023 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.dummy_pad = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.to_connection_id {
my_size += 5;
}
if let Some(v) = self.from_connection_id {
my_size += 5;
}
if let Some(v) = self.legacy_gameserver_relay_session_id {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.to_relay_session_id {
my_size += 5;
}
if let Some(v) = self.from_relay_session_id {
my_size += 5;
}
if let Some(ref v) = self.from_identity_string.as_ref() {
my_size += ::protobuf::rt::string_size(7, &v);
}
if let Some(v) = self.legacy_from_steam_id {
my_size += 9;
}
if let Some(v) = self.end_to_end {
my_size += 2;
}
if let Some(v) = self.not_primary_session {
my_size += 2;
}
if let Some(v) = self.not_primary_transport {
my_size += 2;
}
if let Some(ref v) = self.quality_relay.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.p2p_routing_summary.as_ref() {
let len = v.compute_size();
my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(v) = self.routing_secret {
my_size += 9;
}
if let Some(v) = self.dummy_pad {
my_size += 6;
}
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.to_connection_id {
os.write_fixed32(5, v)?;
}
if let Some(v) = self.from_connection_id {
os.write_fixed32(6, v)?;
}
if let Some(v) = self.legacy_gameserver_relay_session_id {
os.write_uint32(2, v)?;
}
if let Some(v) = self.to_relay_session_id {
os.write_fixed32(9, v)?;
}
if let Some(v) = self.from_relay_session_id {
os.write_fixed32(10, v)?;
}
if let Some(ref v) = self.from_identity_string.as_ref() {
os.write_string(7, &v)?;
}
if let Some(v) = self.legacy_from_steam_id {
os.write_fixed64(3, v)?;
}
if let Some(v) = self.end_to_end {
os.write_bool(4, v)?;
}
if let Some(v) = self.not_primary_session {
os.write_bool(12, v)?;
}
if let Some(v) = self.not_primary_transport {
os.write_bool(15, v)?;
}
if let Some(ref v) = self.quality_relay.as_ref() {
os.write_tag(13, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
os.write_tag(14, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.p2p_routing_summary.as_ref() {
os.write_tag(16, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(v) = self.routing_secret {
os.write_fixed64(11, v)?;
}
if let Some(v) = self.dummy_pad {
os.write_fixed32(1023, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramNoConnection {
CMsgSteamDatagramNoConnection::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"to_connection_id",
|m: &CMsgSteamDatagramNoConnection| { &m.to_connection_id },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.to_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"from_connection_id",
|m: &CMsgSteamDatagramNoConnection| { &m.from_connection_id },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.from_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"legacy_gameserver_relay_session_id",
|m: &CMsgSteamDatagramNoConnection| { &m.legacy_gameserver_relay_session_id },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.legacy_gameserver_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"to_relay_session_id",
|m: &CMsgSteamDatagramNoConnection| { &m.to_relay_session_id },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.to_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"from_relay_session_id",
|m: &CMsgSteamDatagramNoConnection| { &m.from_relay_session_id },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.from_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"from_identity_string",
|m: &CMsgSteamDatagramNoConnection| { &m.from_identity_string },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.from_identity_string },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"legacy_from_steam_id",
|m: &CMsgSteamDatagramNoConnection| { &m.legacy_from_steam_id },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.legacy_from_steam_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"end_to_end",
|m: &CMsgSteamDatagramNoConnection| { &m.end_to_end },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.end_to_end },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"not_primary_session",
|m: &CMsgSteamDatagramNoConnection| { &m.not_primary_session },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.not_primary_session },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
"not_primary_transport",
|m: &CMsgSteamDatagramNoConnection| { &m.not_primary_transport },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.not_primary_transport },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_relay",
|m: &CMsgSteamDatagramNoConnection| { &m.quality_relay },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.quality_relay },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_e2e",
|m: &CMsgSteamDatagramNoConnection| { &m.quality_e2e },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.quality_e2e },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramP2PRoutingSummary>>(
"p2p_routing_summary",
|m: &CMsgSteamDatagramNoConnection| { &m.p2p_routing_summary },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.p2p_routing_summary },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"routing_secret",
|m: &CMsgSteamDatagramNoConnection| { &m.routing_secret },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.routing_secret },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"dummy_pad",
|m: &CMsgSteamDatagramNoConnection| { &m.dummy_pad },
|m: &mut CMsgSteamDatagramNoConnection| { &mut m.dummy_pad },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramNoConnection>(
"CMsgSteamDatagramNoConnection",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramNoConnection {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramNoConnection> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramNoConnection::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramNoConnection {
fn clear(&mut self) {
self.to_connection_id = ::std::option::Option::None;
self.from_connection_id = ::std::option::Option::None;
self.legacy_gameserver_relay_session_id = ::std::option::Option::None;
self.to_relay_session_id = ::std::option::Option::None;
self.from_relay_session_id = ::std::option::Option::None;
self.from_identity_string.clear();
self.legacy_from_steam_id = ::std::option::Option::None;
self.end_to_end = ::std::option::Option::None;
self.not_primary_session = ::std::option::Option::None;
self.not_primary_transport = ::std::option::Option::None;
self.quality_relay.clear();
self.quality_e2e.clear();
self.p2p_routing_summary.clear();
self.routing_secret = ::std::option::Option::None;
self.dummy_pad = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramNoConnection {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramNoConnection {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramGameserverSessionRequest {
ticket: ::protobuf::SingularField<::std::vec::Vec<u8>>,
challenge_time: ::std::option::Option<u32>,
challenge: ::std::option::Option<u64>,
client_connection_id: ::std::option::Option<u32>,
server_connection_id: ::std::option::Option<u32>,
network_config_version: ::std::option::Option<u32>,
protocol_version: ::std::option::Option<u32>,
platform: ::protobuf::SingularField<::std::string::String>,
build: ::protobuf::SingularField<::std::string::String>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramGameserverSessionRequest {
fn default() -> &'a CMsgSteamDatagramGameserverSessionRequest {
<CMsgSteamDatagramGameserverSessionRequest as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramGameserverSessionRequest {
pub fn new() -> CMsgSteamDatagramGameserverSessionRequest {
::std::default::Default::default()
}
pub fn get_ticket(&self) -> &[u8] {
match self.ticket.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_ticket(&mut self) {
self.ticket.clear();
}
pub fn has_ticket(&self) -> bool {
self.ticket.is_some()
}
pub fn set_ticket(&mut self, v: ::std::vec::Vec<u8>) {
self.ticket = ::protobuf::SingularField::some(v);
}
pub fn mut_ticket(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.ticket.is_none() {
self.ticket.set_default();
}
self.ticket.as_mut().unwrap()
}
pub fn take_ticket(&mut self) -> ::std::vec::Vec<u8> {
self.ticket.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_challenge_time(&self) -> u32 {
self.challenge_time.unwrap_or(0)
}
pub fn clear_challenge_time(&mut self) {
self.challenge_time = ::std::option::Option::None;
}
pub fn has_challenge_time(&self) -> bool {
self.challenge_time.is_some()
}
pub fn set_challenge_time(&mut self, v: u32) {
self.challenge_time = ::std::option::Option::Some(v);
}
pub fn get_challenge(&self) -> u64 {
self.challenge.unwrap_or(0)
}
pub fn clear_challenge(&mut self) {
self.challenge = ::std::option::Option::None;
}
pub fn has_challenge(&self) -> bool {
self.challenge.is_some()
}
pub fn set_challenge(&mut self, v: u64) {
self.challenge = ::std::option::Option::Some(v);
}
pub fn get_client_connection_id(&self) -> u32 {
self.client_connection_id.unwrap_or(0)
}
pub fn clear_client_connection_id(&mut self) {
self.client_connection_id = ::std::option::Option::None;
}
pub fn has_client_connection_id(&self) -> bool {
self.client_connection_id.is_some()
}
pub fn set_client_connection_id(&mut self, v: u32) {
self.client_connection_id = ::std::option::Option::Some(v);
}
pub fn get_server_connection_id(&self) -> u32 {
self.server_connection_id.unwrap_or(0)
}
pub fn clear_server_connection_id(&mut self) {
self.server_connection_id = ::std::option::Option::None;
}
pub fn has_server_connection_id(&self) -> bool {
self.server_connection_id.is_some()
}
pub fn set_server_connection_id(&mut self, v: u32) {
self.server_connection_id = ::std::option::Option::Some(v);
}
pub fn get_network_config_version(&self) -> u32 {
self.network_config_version.unwrap_or(0)
}
pub fn clear_network_config_version(&mut self) {
self.network_config_version = ::std::option::Option::None;
}
pub fn has_network_config_version(&self) -> bool {
self.network_config_version.is_some()
}
pub fn set_network_config_version(&mut self, v: u32) {
self.network_config_version = ::std::option::Option::Some(v);
}
pub fn get_protocol_version(&self) -> u32 {
self.protocol_version.unwrap_or(0)
}
pub fn clear_protocol_version(&mut self) {
self.protocol_version = ::std::option::Option::None;
}
pub fn has_protocol_version(&self) -> bool {
self.protocol_version.is_some()
}
pub fn set_protocol_version(&mut self, v: u32) {
self.protocol_version = ::std::option::Option::Some(v);
}
pub fn get_platform(&self) -> &str {
match self.platform.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_platform(&mut self) {
self.platform.clear();
}
pub fn has_platform(&self) -> bool {
self.platform.is_some()
}
pub fn set_platform(&mut self, v: ::std::string::String) {
self.platform = ::protobuf::SingularField::some(v);
}
pub fn mut_platform(&mut self) -> &mut ::std::string::String {
if self.platform.is_none() {
self.platform.set_default();
}
self.platform.as_mut().unwrap()
}
pub fn take_platform(&mut self) -> ::std::string::String {
self.platform.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_build(&self) -> &str {
match self.build.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_build(&mut self) {
self.build.clear();
}
pub fn has_build(&self) -> bool {
self.build.is_some()
}
pub fn set_build(&mut self, v: ::std::string::String) {
self.build = ::protobuf::SingularField::some(v);
}
pub fn mut_build(&mut self) -> &mut ::std::string::String {
if self.build.is_none() {
self.build.set_default();
}
self.build.as_mut().unwrap()
}
pub fn take_build(&mut self) -> ::std::string::String {
self.build.take().unwrap_or_else(|| ::std::string::String::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramGameserverSessionRequest {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.ticket)?;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.challenge_time = ::std::option::Option::Some(tmp);
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.challenge = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.client_connection_id = ::std::option::Option::Some(tmp);
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.server_connection_id = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.network_config_version = ::std::option::Option::Some(tmp);
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.protocol_version = ::std::option::Option::Some(tmp);
},
9 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.platform)?;
},
10 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.build)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.ticket.as_ref() {
my_size += ::protobuf::rt::bytes_size(1, &v);
}
if let Some(v) = self.challenge_time {
my_size += 5;
}
if let Some(v) = self.challenge {
my_size += 9;
}
if let Some(v) = self.client_connection_id {
my_size += 5;
}
if let Some(v) = self.server_connection_id {
my_size += 5;
}
if let Some(v) = self.network_config_version {
my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.protocol_version {
my_size += ::protobuf::rt::value_size(7, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.platform.as_ref() {
my_size += ::protobuf::rt::string_size(9, &v);
}
if let Some(ref v) = self.build.as_ref() {
my_size += ::protobuf::rt::string_size(10, &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.ticket.as_ref() {
os.write_bytes(1, &v)?;
}
if let Some(v) = self.challenge_time {
os.write_fixed32(3, v)?;
}
if let Some(v) = self.challenge {
os.write_fixed64(4, v)?;
}
if let Some(v) = self.client_connection_id {
os.write_fixed32(5, v)?;
}
if let Some(v) = self.server_connection_id {
os.write_fixed32(8, v)?;
}
if let Some(v) = self.network_config_version {
os.write_uint32(6, v)?;
}
if let Some(v) = self.protocol_version {
os.write_uint32(7, v)?;
}
if let Some(ref v) = self.platform.as_ref() {
os.write_string(9, &v)?;
}
if let Some(ref v) = self.build.as_ref() {
os.write_string(10, &v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramGameserverSessionRequest {
CMsgSteamDatagramGameserverSessionRequest::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"ticket",
|m: &CMsgSteamDatagramGameserverSessionRequest| { &m.ticket },
|m: &mut CMsgSteamDatagramGameserverSessionRequest| { &mut m.ticket },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"challenge_time",
|m: &CMsgSteamDatagramGameserverSessionRequest| { &m.challenge_time },
|m: &mut CMsgSteamDatagramGameserverSessionRequest| { &mut m.challenge_time },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"challenge",
|m: &CMsgSteamDatagramGameserverSessionRequest| { &m.challenge },
|m: &mut CMsgSteamDatagramGameserverSessionRequest| { &mut m.challenge },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"client_connection_id",
|m: &CMsgSteamDatagramGameserverSessionRequest| { &m.client_connection_id },
|m: &mut CMsgSteamDatagramGameserverSessionRequest| { &mut m.client_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"server_connection_id",
|m: &CMsgSteamDatagramGameserverSessionRequest| { &m.server_connection_id },
|m: &mut CMsgSteamDatagramGameserverSessionRequest| { &mut m.server_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"network_config_version",
|m: &CMsgSteamDatagramGameserverSessionRequest| { &m.network_config_version },
|m: &mut CMsgSteamDatagramGameserverSessionRequest| { &mut m.network_config_version },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"protocol_version",
|m: &CMsgSteamDatagramGameserverSessionRequest| { &m.protocol_version },
|m: &mut CMsgSteamDatagramGameserverSessionRequest| { &mut m.protocol_version },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"platform",
|m: &CMsgSteamDatagramGameserverSessionRequest| { &m.platform },
|m: &mut CMsgSteamDatagramGameserverSessionRequest| { &mut m.platform },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"build",
|m: &CMsgSteamDatagramGameserverSessionRequest| { &m.build },
|m: &mut CMsgSteamDatagramGameserverSessionRequest| { &mut m.build },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramGameserverSessionRequest>(
"CMsgSteamDatagramGameserverSessionRequest",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramGameserverSessionRequest {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramGameserverSessionRequest> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramGameserverSessionRequest::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramGameserverSessionRequest {
fn clear(&mut self) {
self.ticket.clear();
self.challenge_time = ::std::option::Option::None;
self.challenge = ::std::option::Option::None;
self.client_connection_id = ::std::option::Option::None;
self.server_connection_id = ::std::option::Option::None;
self.network_config_version = ::std::option::Option::None;
self.protocol_version = ::std::option::Option::None;
self.platform.clear();
self.build.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramGameserverSessionRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramGameserverSessionRequest {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramGameserverSessionEstablished {
connection_id: ::std::option::Option<u32>,
gameserver_identity_string: ::protobuf::SingularField<::std::string::String>,
seconds_until_shutdown: ::std::option::Option<u32>,
seq_num_r2c: ::std::option::Option<u32>,
dummy_legacy_identity_binary: ::protobuf::SingularField<::std::vec::Vec<u8>>,
legacy_gameserver_steamid: ::std::option::Option<u64>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramGameserverSessionEstablished {
fn default() -> &'a CMsgSteamDatagramGameserverSessionEstablished {
<CMsgSteamDatagramGameserverSessionEstablished as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramGameserverSessionEstablished {
pub fn new() -> CMsgSteamDatagramGameserverSessionEstablished {
::std::default::Default::default()
}
pub fn get_connection_id(&self) -> u32 {
self.connection_id.unwrap_or(0)
}
pub fn clear_connection_id(&mut self) {
self.connection_id = ::std::option::Option::None;
}
pub fn has_connection_id(&self) -> bool {
self.connection_id.is_some()
}
pub fn set_connection_id(&mut self, v: u32) {
self.connection_id = ::std::option::Option::Some(v);
}
pub fn get_gameserver_identity_string(&self) -> &str {
match self.gameserver_identity_string.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_gameserver_identity_string(&mut self) {
self.gameserver_identity_string.clear();
}
pub fn has_gameserver_identity_string(&self) -> bool {
self.gameserver_identity_string.is_some()
}
pub fn set_gameserver_identity_string(&mut self, v: ::std::string::String) {
self.gameserver_identity_string = ::protobuf::SingularField::some(v);
}
pub fn mut_gameserver_identity_string(&mut self) -> &mut ::std::string::String {
if self.gameserver_identity_string.is_none() {
self.gameserver_identity_string.set_default();
}
self.gameserver_identity_string.as_mut().unwrap()
}
pub fn take_gameserver_identity_string(&mut self) -> ::std::string::String {
self.gameserver_identity_string.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_seconds_until_shutdown(&self) -> u32 {
self.seconds_until_shutdown.unwrap_or(0)
}
pub fn clear_seconds_until_shutdown(&mut self) {
self.seconds_until_shutdown = ::std::option::Option::None;
}
pub fn has_seconds_until_shutdown(&self) -> bool {
self.seconds_until_shutdown.is_some()
}
pub fn set_seconds_until_shutdown(&mut self, v: u32) {
self.seconds_until_shutdown = ::std::option::Option::Some(v);
}
pub fn get_seq_num_r2c(&self) -> u32 {
self.seq_num_r2c.unwrap_or(0)
}
pub fn clear_seq_num_r2c(&mut self) {
self.seq_num_r2c = ::std::option::Option::None;
}
pub fn has_seq_num_r2c(&self) -> bool {
self.seq_num_r2c.is_some()
}
pub fn set_seq_num_r2c(&mut self, v: u32) {
self.seq_num_r2c = ::std::option::Option::Some(v);
}
pub fn get_dummy_legacy_identity_binary(&self) -> &[u8] {
match self.dummy_legacy_identity_binary.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_dummy_legacy_identity_binary(&mut self) {
self.dummy_legacy_identity_binary.clear();
}
pub fn has_dummy_legacy_identity_binary(&self) -> bool {
self.dummy_legacy_identity_binary.is_some()
}
pub fn set_dummy_legacy_identity_binary(&mut self, v: ::std::vec::Vec<u8>) {
self.dummy_legacy_identity_binary = ::protobuf::SingularField::some(v);
}
pub fn mut_dummy_legacy_identity_binary(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.dummy_legacy_identity_binary.is_none() {
self.dummy_legacy_identity_binary.set_default();
}
self.dummy_legacy_identity_binary.as_mut().unwrap()
}
pub fn take_dummy_legacy_identity_binary(&mut self) -> ::std::vec::Vec<u8> {
self.dummy_legacy_identity_binary.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_legacy_gameserver_steamid(&self) -> u64 {
self.legacy_gameserver_steamid.unwrap_or(0)
}
pub fn clear_legacy_gameserver_steamid(&mut self) {
self.legacy_gameserver_steamid = ::std::option::Option::None;
}
pub fn has_legacy_gameserver_steamid(&self) -> bool {
self.legacy_gameserver_steamid.is_some()
}
pub fn set_legacy_gameserver_steamid(&mut self, v: u64) {
self.legacy_gameserver_steamid = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramGameserverSessionEstablished {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.connection_id = ::std::option::Option::Some(tmp);
},
2 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.gameserver_identity_string)?;
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seconds_until_shutdown = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_r2c = ::std::option::Option::Some(tmp);
},
7 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.dummy_legacy_identity_binary)?;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.legacy_gameserver_steamid = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.connection_id {
my_size += 5;
}
if let Some(ref v) = self.gameserver_identity_string.as_ref() {
my_size += ::protobuf::rt::string_size(2, &v);
}
if let Some(v) = self.seconds_until_shutdown {
my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seq_num_r2c {
my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.dummy_legacy_identity_binary.as_ref() {
my_size += ::protobuf::rt::bytes_size(7, &v);
}
if let Some(v) = self.legacy_gameserver_steamid {
my_size += 9;
}
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.connection_id {
os.write_fixed32(1, v)?;
}
if let Some(ref v) = self.gameserver_identity_string.as_ref() {
os.write_string(2, &v)?;
}
if let Some(v) = self.seconds_until_shutdown {
os.write_uint32(4, v)?;
}
if let Some(v) = self.seq_num_r2c {
os.write_uint32(6, v)?;
}
if let Some(ref v) = self.dummy_legacy_identity_binary.as_ref() {
os.write_bytes(7, &v)?;
}
if let Some(v) = self.legacy_gameserver_steamid {
os.write_fixed64(3, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramGameserverSessionEstablished {
CMsgSteamDatagramGameserverSessionEstablished::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"connection_id",
|m: &CMsgSteamDatagramGameserverSessionEstablished| { &m.connection_id },
|m: &mut CMsgSteamDatagramGameserverSessionEstablished| { &mut m.connection_id },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"gameserver_identity_string",
|m: &CMsgSteamDatagramGameserverSessionEstablished| { &m.gameserver_identity_string },
|m: &mut CMsgSteamDatagramGameserverSessionEstablished| { &mut m.gameserver_identity_string },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seconds_until_shutdown",
|m: &CMsgSteamDatagramGameserverSessionEstablished| { &m.seconds_until_shutdown },
|m: &mut CMsgSteamDatagramGameserverSessionEstablished| { &mut m.seconds_until_shutdown },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_r2c",
|m: &CMsgSteamDatagramGameserverSessionEstablished| { &m.seq_num_r2c },
|m: &mut CMsgSteamDatagramGameserverSessionEstablished| { &mut m.seq_num_r2c },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"dummy_legacy_identity_binary",
|m: &CMsgSteamDatagramGameserverSessionEstablished| { &m.dummy_legacy_identity_binary },
|m: &mut CMsgSteamDatagramGameserverSessionEstablished| { &mut m.dummy_legacy_identity_binary },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"legacy_gameserver_steamid",
|m: &CMsgSteamDatagramGameserverSessionEstablished| { &m.legacy_gameserver_steamid },
|m: &mut CMsgSteamDatagramGameserverSessionEstablished| { &mut m.legacy_gameserver_steamid },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramGameserverSessionEstablished>(
"CMsgSteamDatagramGameserverSessionEstablished",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramGameserverSessionEstablished {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramGameserverSessionEstablished> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramGameserverSessionEstablished::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramGameserverSessionEstablished {
fn clear(&mut self) {
self.connection_id = ::std::option::Option::None;
self.gameserver_identity_string.clear();
self.seconds_until_shutdown = ::std::option::Option::None;
self.seq_num_r2c = ::std::option::Option::None;
self.dummy_legacy_identity_binary.clear();
self.legacy_gameserver_steamid = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramGameserverSessionEstablished {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramGameserverSessionEstablished {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramConnectionStatsClientToRouter {
pub quality_relay: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub quality_e2e: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub ack_relay: ::std::vec::Vec<u32>,
pub legacy_ack_e2e: ::std::vec::Vec<u32>,
flags: ::std::option::Option<u32>,
client_connection_id: ::std::option::Option<u32>,
seq_num_c2r: ::std::option::Option<u32>,
seq_num_e2e: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramConnectionStatsClientToRouter {
fn default() -> &'a CMsgSteamDatagramConnectionStatsClientToRouter {
<CMsgSteamDatagramConnectionStatsClientToRouter as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramConnectionStatsClientToRouter {
pub fn new() -> CMsgSteamDatagramConnectionStatsClientToRouter {
::std::default::Default::default()
}
pub fn get_quality_relay(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_relay(&mut self) {
self.quality_relay.clear();
}
pub fn has_quality_relay(&self) -> bool {
self.quality_relay.is_some()
}
pub fn set_quality_relay(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_relay = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_relay(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_relay.is_none() {
self.quality_relay.set_default();
}
self.quality_relay.as_mut().unwrap()
}
pub fn take_quality_relay(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_quality_e2e(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_e2e(&mut self) {
self.quality_e2e.clear();
}
pub fn has_quality_e2e(&self) -> bool {
self.quality_e2e.is_some()
}
pub fn set_quality_e2e(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_e2e = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_e2e(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_e2e.is_none() {
self.quality_e2e.set_default();
}
self.quality_e2e.as_mut().unwrap()
}
pub fn take_quality_e2e(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_ack_relay(&self) -> &[u32] {
&self.ack_relay
}
pub fn clear_ack_relay(&mut self) {
self.ack_relay.clear();
}
pub fn set_ack_relay(&mut self, v: ::std::vec::Vec<u32>) {
self.ack_relay = v;
}
pub fn mut_ack_relay(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.ack_relay
}
pub fn take_ack_relay(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.ack_relay, ::std::vec::Vec::new())
}
pub fn get_legacy_ack_e2e(&self) -> &[u32] {
&self.legacy_ack_e2e
}
pub fn clear_legacy_ack_e2e(&mut self) {
self.legacy_ack_e2e.clear();
}
pub fn set_legacy_ack_e2e(&mut self, v: ::std::vec::Vec<u32>) {
self.legacy_ack_e2e = v;
}
pub fn mut_legacy_ack_e2e(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.legacy_ack_e2e
}
pub fn take_legacy_ack_e2e(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.legacy_ack_e2e, ::std::vec::Vec::new())
}
pub fn get_flags(&self) -> u32 {
self.flags.unwrap_or(0)
}
pub fn clear_flags(&mut self) {
self.flags = ::std::option::Option::None;
}
pub fn has_flags(&self) -> bool {
self.flags.is_some()
}
pub fn set_flags(&mut self, v: u32) {
self.flags = ::std::option::Option::Some(v);
}
pub fn get_client_connection_id(&self) -> u32 {
self.client_connection_id.unwrap_or(0)
}
pub fn clear_client_connection_id(&mut self) {
self.client_connection_id = ::std::option::Option::None;
}
pub fn has_client_connection_id(&self) -> bool {
self.client_connection_id.is_some()
}
pub fn set_client_connection_id(&mut self, v: u32) {
self.client_connection_id = ::std::option::Option::Some(v);
}
pub fn get_seq_num_c2r(&self) -> u32 {
self.seq_num_c2r.unwrap_or(0)
}
pub fn clear_seq_num_c2r(&mut self) {
self.seq_num_c2r = ::std::option::Option::None;
}
pub fn has_seq_num_c2r(&self) -> bool {
self.seq_num_c2r.is_some()
}
pub fn set_seq_num_c2r(&mut self, v: u32) {
self.seq_num_c2r = ::std::option::Option::Some(v);
}
pub fn get_seq_num_e2e(&self) -> u32 {
self.seq_num_e2e.unwrap_or(0)
}
pub fn clear_seq_num_e2e(&mut self) {
self.seq_num_e2e = ::std::option::Option::None;
}
pub fn has_seq_num_e2e(&self) -> bool {
self.seq_num_e2e.is_some()
}
pub fn set_seq_num_e2e(&mut self, v: u32) {
self.seq_num_e2e = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramConnectionStatsClientToRouter {
fn is_initialized(&self) -> bool {
for v in &self.quality_relay {
if !v.is_initialized() {
return false;
}
};
for v in &self.quality_e2e {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_relay)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_e2e)?;
},
4 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.ack_relay)?;
},
5 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.legacy_ack_e2e)?;
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.flags = ::std::option::Option::Some(tmp);
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.client_connection_id = ::std::option::Option::Some(tmp);
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_c2r = ::std::option::Option::Some(tmp);
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_e2e = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.quality_relay.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
my_size += 5 * self.ack_relay.len() as u32;
my_size += 5 * self.legacy_ack_e2e.len() as u32;
if let Some(v) = self.flags {
my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.client_connection_id {
my_size += 5;
}
if let Some(v) = self.seq_num_c2r {
my_size += ::protobuf::rt::value_size(9, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seq_num_e2e {
my_size += ::protobuf::rt::value_size(10, 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.quality_relay.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
for v in &self.ack_relay {
os.write_fixed32(4, *v)?;
};
for v in &self.legacy_ack_e2e {
os.write_fixed32(5, *v)?;
};
if let Some(v) = self.flags {
os.write_uint32(6, v)?;
}
if let Some(v) = self.client_connection_id {
os.write_fixed32(8, v)?;
}
if let Some(v) = self.seq_num_c2r {
os.write_uint32(9, v)?;
}
if let Some(v) = self.seq_num_e2e {
os.write_uint32(10, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramConnectionStatsClientToRouter {
CMsgSteamDatagramConnectionStatsClientToRouter::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_relay",
|m: &CMsgSteamDatagramConnectionStatsClientToRouter| { &m.quality_relay },
|m: &mut CMsgSteamDatagramConnectionStatsClientToRouter| { &mut m.quality_relay },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_e2e",
|m: &CMsgSteamDatagramConnectionStatsClientToRouter| { &m.quality_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsClientToRouter| { &mut m.quality_e2e },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"ack_relay",
|m: &CMsgSteamDatagramConnectionStatsClientToRouter| { &m.ack_relay },
|m: &mut CMsgSteamDatagramConnectionStatsClientToRouter| { &mut m.ack_relay },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"legacy_ack_e2e",
|m: &CMsgSteamDatagramConnectionStatsClientToRouter| { &m.legacy_ack_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsClientToRouter| { &mut m.legacy_ack_e2e },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"flags",
|m: &CMsgSteamDatagramConnectionStatsClientToRouter| { &m.flags },
|m: &mut CMsgSteamDatagramConnectionStatsClientToRouter| { &mut m.flags },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"client_connection_id",
|m: &CMsgSteamDatagramConnectionStatsClientToRouter| { &m.client_connection_id },
|m: &mut CMsgSteamDatagramConnectionStatsClientToRouter| { &mut m.client_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_c2r",
|m: &CMsgSteamDatagramConnectionStatsClientToRouter| { &m.seq_num_c2r },
|m: &mut CMsgSteamDatagramConnectionStatsClientToRouter| { &mut m.seq_num_c2r },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_e2e",
|m: &CMsgSteamDatagramConnectionStatsClientToRouter| { &m.seq_num_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsClientToRouter| { &mut m.seq_num_e2e },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsClientToRouter>(
"CMsgSteamDatagramConnectionStatsClientToRouter",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramConnectionStatsClientToRouter {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramConnectionStatsClientToRouter> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramConnectionStatsClientToRouter::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramConnectionStatsClientToRouter {
fn clear(&mut self) {
self.quality_relay.clear();
self.quality_e2e.clear();
self.ack_relay.clear();
self.legacy_ack_e2e.clear();
self.flags = ::std::option::Option::None;
self.client_connection_id = ::std::option::Option::None;
self.seq_num_c2r = ::std::option::Option::None;
self.seq_num_e2e = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramConnectionStatsClientToRouter {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsClientToRouter {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum CMsgSteamDatagramConnectionStatsClientToRouter_Flags {
ACK_REQUEST_RELAY = 1,
ACK_REQUEST_E2E = 2,
ACK_REQUEST_IMMEDIATE = 4,
NOT_PRIMARY_SESSION = 8,
}
impl ::protobuf::ProtobufEnum for CMsgSteamDatagramConnectionStatsClientToRouter_Flags {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<CMsgSteamDatagramConnectionStatsClientToRouter_Flags> {
match value {
1 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsClientToRouter_Flags::ACK_REQUEST_RELAY),
2 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsClientToRouter_Flags::ACK_REQUEST_E2E),
4 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsClientToRouter_Flags::ACK_REQUEST_IMMEDIATE),
8 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsClientToRouter_Flags::NOT_PRIMARY_SESSION),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [CMsgSteamDatagramConnectionStatsClientToRouter_Flags] = &[
CMsgSteamDatagramConnectionStatsClientToRouter_Flags::ACK_REQUEST_RELAY,
CMsgSteamDatagramConnectionStatsClientToRouter_Flags::ACK_REQUEST_E2E,
CMsgSteamDatagramConnectionStatsClientToRouter_Flags::ACK_REQUEST_IMMEDIATE,
CMsgSteamDatagramConnectionStatsClientToRouter_Flags::NOT_PRIMARY_SESSION,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsClientToRouter_Flags>("CMsgSteamDatagramConnectionStatsClientToRouter.Flags", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for CMsgSteamDatagramConnectionStatsClientToRouter_Flags {
}
impl ::std::default::Default for CMsgSteamDatagramConnectionStatsClientToRouter_Flags {
fn default() -> Self {
CMsgSteamDatagramConnectionStatsClientToRouter_Flags::ACK_REQUEST_RELAY
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsClientToRouter_Flags {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramConnectionStatsRouterToClient {
pub quality_relay: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub quality_e2e: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
seconds_until_shutdown: ::std::option::Option<u32>,
migrate_request_ip: ::std::option::Option<u32>,
migrate_request_port: ::std::option::Option<u32>,
scoring_penalty_relay_cluster: ::std::option::Option<u32>,
pub ack_relay: ::std::vec::Vec<u32>,
pub legacy_ack_e2e: ::std::vec::Vec<u32>,
flags: ::std::option::Option<u32>,
client_connection_id: ::std::option::Option<u32>,
seq_num_r2c: ::std::option::Option<u32>,
seq_num_e2e: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramConnectionStatsRouterToClient {
fn default() -> &'a CMsgSteamDatagramConnectionStatsRouterToClient {
<CMsgSteamDatagramConnectionStatsRouterToClient as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramConnectionStatsRouterToClient {
pub fn new() -> CMsgSteamDatagramConnectionStatsRouterToClient {
::std::default::Default::default()
}
pub fn get_quality_relay(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_relay(&mut self) {
self.quality_relay.clear();
}
pub fn has_quality_relay(&self) -> bool {
self.quality_relay.is_some()
}
pub fn set_quality_relay(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_relay = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_relay(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_relay.is_none() {
self.quality_relay.set_default();
}
self.quality_relay.as_mut().unwrap()
}
pub fn take_quality_relay(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_quality_e2e(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_e2e(&mut self) {
self.quality_e2e.clear();
}
pub fn has_quality_e2e(&self) -> bool {
self.quality_e2e.is_some()
}
pub fn set_quality_e2e(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_e2e = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_e2e(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_e2e.is_none() {
self.quality_e2e.set_default();
}
self.quality_e2e.as_mut().unwrap()
}
pub fn take_quality_e2e(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_seconds_until_shutdown(&self) -> u32 {
self.seconds_until_shutdown.unwrap_or(0)
}
pub fn clear_seconds_until_shutdown(&mut self) {
self.seconds_until_shutdown = ::std::option::Option::None;
}
pub fn has_seconds_until_shutdown(&self) -> bool {
self.seconds_until_shutdown.is_some()
}
pub fn set_seconds_until_shutdown(&mut self, v: u32) {
self.seconds_until_shutdown = ::std::option::Option::Some(v);
}
pub fn get_migrate_request_ip(&self) -> u32 {
self.migrate_request_ip.unwrap_or(0)
}
pub fn clear_migrate_request_ip(&mut self) {
self.migrate_request_ip = ::std::option::Option::None;
}
pub fn has_migrate_request_ip(&self) -> bool {
self.migrate_request_ip.is_some()
}
pub fn set_migrate_request_ip(&mut self, v: u32) {
self.migrate_request_ip = ::std::option::Option::Some(v);
}
pub fn get_migrate_request_port(&self) -> u32 {
self.migrate_request_port.unwrap_or(0)
}
pub fn clear_migrate_request_port(&mut self) {
self.migrate_request_port = ::std::option::Option::None;
}
pub fn has_migrate_request_port(&self) -> bool {
self.migrate_request_port.is_some()
}
pub fn set_migrate_request_port(&mut self, v: u32) {
self.migrate_request_port = ::std::option::Option::Some(v);
}
pub fn get_scoring_penalty_relay_cluster(&self) -> u32 {
self.scoring_penalty_relay_cluster.unwrap_or(0)
}
pub fn clear_scoring_penalty_relay_cluster(&mut self) {
self.scoring_penalty_relay_cluster = ::std::option::Option::None;
}
pub fn has_scoring_penalty_relay_cluster(&self) -> bool {
self.scoring_penalty_relay_cluster.is_some()
}
pub fn set_scoring_penalty_relay_cluster(&mut self, v: u32) {
self.scoring_penalty_relay_cluster = ::std::option::Option::Some(v);
}
pub fn get_ack_relay(&self) -> &[u32] {
&self.ack_relay
}
pub fn clear_ack_relay(&mut self) {
self.ack_relay.clear();
}
pub fn set_ack_relay(&mut self, v: ::std::vec::Vec<u32>) {
self.ack_relay = v;
}
pub fn mut_ack_relay(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.ack_relay
}
pub fn take_ack_relay(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.ack_relay, ::std::vec::Vec::new())
}
pub fn get_legacy_ack_e2e(&self) -> &[u32] {
&self.legacy_ack_e2e
}
pub fn clear_legacy_ack_e2e(&mut self) {
self.legacy_ack_e2e.clear();
}
pub fn set_legacy_ack_e2e(&mut self, v: ::std::vec::Vec<u32>) {
self.legacy_ack_e2e = v;
}
pub fn mut_legacy_ack_e2e(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.legacy_ack_e2e
}
pub fn take_legacy_ack_e2e(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.legacy_ack_e2e, ::std::vec::Vec::new())
}
pub fn get_flags(&self) -> u32 {
self.flags.unwrap_or(0)
}
pub fn clear_flags(&mut self) {
self.flags = ::std::option::Option::None;
}
pub fn has_flags(&self) -> bool {
self.flags.is_some()
}
pub fn set_flags(&mut self, v: u32) {
self.flags = ::std::option::Option::Some(v);
}
pub fn get_client_connection_id(&self) -> u32 {
self.client_connection_id.unwrap_or(0)
}
pub fn clear_client_connection_id(&mut self) {
self.client_connection_id = ::std::option::Option::None;
}
pub fn has_client_connection_id(&self) -> bool {
self.client_connection_id.is_some()
}
pub fn set_client_connection_id(&mut self, v: u32) {
self.client_connection_id = ::std::option::Option::Some(v);
}
pub fn get_seq_num_r2c(&self) -> u32 {
self.seq_num_r2c.unwrap_or(0)
}
pub fn clear_seq_num_r2c(&mut self) {
self.seq_num_r2c = ::std::option::Option::None;
}
pub fn has_seq_num_r2c(&self) -> bool {
self.seq_num_r2c.is_some()
}
pub fn set_seq_num_r2c(&mut self, v: u32) {
self.seq_num_r2c = ::std::option::Option::Some(v);
}
pub fn get_seq_num_e2e(&self) -> u32 {
self.seq_num_e2e.unwrap_or(0)
}
pub fn clear_seq_num_e2e(&mut self) {
self.seq_num_e2e = ::std::option::Option::None;
}
pub fn has_seq_num_e2e(&self) -> bool {
self.seq_num_e2e.is_some()
}
pub fn set_seq_num_e2e(&mut self, v: u32) {
self.seq_num_e2e = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramConnectionStatsRouterToClient {
fn is_initialized(&self) -> bool {
for v in &self.quality_relay {
if !v.is_initialized() {
return false;
}
};
for v in &self.quality_e2e {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_relay)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_e2e)?;
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seconds_until_shutdown = ::std::option::Option::Some(tmp);
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.migrate_request_ip = ::std::option::Option::Some(tmp);
},
11 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.migrate_request_port = ::std::option::Option::Some(tmp);
},
12 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.scoring_penalty_relay_cluster = ::std::option::Option::Some(tmp);
},
13 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.ack_relay)?;
},
14 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.legacy_ack_e2e)?;
},
15 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.flags = ::std::option::Option::Some(tmp);
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.client_connection_id = ::std::option::Option::Some(tmp);
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_r2c = ::std::option::Option::Some(tmp);
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_e2e = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.quality_relay.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(v) = self.seconds_until_shutdown {
my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.migrate_request_ip {
my_size += 5;
}
if let Some(v) = self.migrate_request_port {
my_size += ::protobuf::rt::value_size(11, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.scoring_penalty_relay_cluster {
my_size += ::protobuf::rt::value_size(12, v, ::protobuf::wire_format::WireTypeVarint);
}
my_size += 5 * self.ack_relay.len() as u32;
my_size += 5 * self.legacy_ack_e2e.len() as u32;
if let Some(v) = self.flags {
my_size += ::protobuf::rt::value_size(15, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.client_connection_id {
my_size += 5;
}
if let Some(v) = self.seq_num_r2c {
my_size += ::protobuf::rt::value_size(8, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seq_num_e2e {
my_size += ::protobuf::rt::value_size(9, 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.quality_relay.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(v) = self.seconds_until_shutdown {
os.write_uint32(6, v)?;
}
if let Some(v) = self.migrate_request_ip {
os.write_fixed32(10, v)?;
}
if let Some(v) = self.migrate_request_port {
os.write_uint32(11, v)?;
}
if let Some(v) = self.scoring_penalty_relay_cluster {
os.write_uint32(12, v)?;
}
for v in &self.ack_relay {
os.write_fixed32(13, *v)?;
};
for v in &self.legacy_ack_e2e {
os.write_fixed32(14, *v)?;
};
if let Some(v) = self.flags {
os.write_uint32(15, v)?;
}
if let Some(v) = self.client_connection_id {
os.write_fixed32(7, v)?;
}
if let Some(v) = self.seq_num_r2c {
os.write_uint32(8, v)?;
}
if let Some(v) = self.seq_num_e2e {
os.write_uint32(9, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramConnectionStatsRouterToClient {
CMsgSteamDatagramConnectionStatsRouterToClient::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_relay",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.quality_relay },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.quality_relay },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_e2e",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.quality_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.quality_e2e },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seconds_until_shutdown",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.seconds_until_shutdown },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.seconds_until_shutdown },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"migrate_request_ip",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.migrate_request_ip },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.migrate_request_ip },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"migrate_request_port",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.migrate_request_port },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.migrate_request_port },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"scoring_penalty_relay_cluster",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.scoring_penalty_relay_cluster },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.scoring_penalty_relay_cluster },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"ack_relay",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.ack_relay },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.ack_relay },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"legacy_ack_e2e",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.legacy_ack_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.legacy_ack_e2e },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"flags",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.flags },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.flags },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"client_connection_id",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.client_connection_id },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.client_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_r2c",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.seq_num_r2c },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.seq_num_r2c },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_e2e",
|m: &CMsgSteamDatagramConnectionStatsRouterToClient| { &m.seq_num_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToClient| { &mut m.seq_num_e2e },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsRouterToClient>(
"CMsgSteamDatagramConnectionStatsRouterToClient",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramConnectionStatsRouterToClient {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramConnectionStatsRouterToClient> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramConnectionStatsRouterToClient::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramConnectionStatsRouterToClient {
fn clear(&mut self) {
self.quality_relay.clear();
self.quality_e2e.clear();
self.seconds_until_shutdown = ::std::option::Option::None;
self.migrate_request_ip = ::std::option::Option::None;
self.migrate_request_port = ::std::option::Option::None;
self.scoring_penalty_relay_cluster = ::std::option::Option::None;
self.ack_relay.clear();
self.legacy_ack_e2e.clear();
self.flags = ::std::option::Option::None;
self.client_connection_id = ::std::option::Option::None;
self.seq_num_r2c = ::std::option::Option::None;
self.seq_num_e2e = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramConnectionStatsRouterToClient {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsRouterToClient {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum CMsgSteamDatagramConnectionStatsRouterToClient_Flags {
ACK_REQUEST_RELAY = 1,
ACK_REQUEST_E2E = 2,
ACK_REQUEST_IMMEDIATE = 4,
}
impl ::protobuf::ProtobufEnum for CMsgSteamDatagramConnectionStatsRouterToClient_Flags {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<CMsgSteamDatagramConnectionStatsRouterToClient_Flags> {
match value {
1 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsRouterToClient_Flags::ACK_REQUEST_RELAY),
2 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsRouterToClient_Flags::ACK_REQUEST_E2E),
4 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsRouterToClient_Flags::ACK_REQUEST_IMMEDIATE),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [CMsgSteamDatagramConnectionStatsRouterToClient_Flags] = &[
CMsgSteamDatagramConnectionStatsRouterToClient_Flags::ACK_REQUEST_RELAY,
CMsgSteamDatagramConnectionStatsRouterToClient_Flags::ACK_REQUEST_E2E,
CMsgSteamDatagramConnectionStatsRouterToClient_Flags::ACK_REQUEST_IMMEDIATE,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsRouterToClient_Flags>("CMsgSteamDatagramConnectionStatsRouterToClient.Flags", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for CMsgSteamDatagramConnectionStatsRouterToClient_Flags {
}
impl ::std::default::Default for CMsgSteamDatagramConnectionStatsRouterToClient_Flags {
fn default() -> Self {
CMsgSteamDatagramConnectionStatsRouterToClient_Flags::ACK_REQUEST_RELAY
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsRouterToClient_Flags {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramConnectionStatsRouterToServer {
pub quality_relay: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub quality_e2e: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub ack_relay: ::std::vec::Vec<u32>,
pub legacy_ack_e2e: ::std::vec::Vec<u32>,
flags: ::std::option::Option<u32>,
seq_num_r2s: ::std::option::Option<u32>,
seq_num_e2e: ::std::option::Option<u32>,
client_identity_string: ::protobuf::SingularField<::std::string::String>,
legacy_client_steam_id: ::std::option::Option<u64>,
relay_session_id: ::std::option::Option<u32>,
client_connection_id: ::std::option::Option<u32>,
server_connection_id: ::std::option::Option<u32>,
routing_secret: ::std::option::Option<u64>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramConnectionStatsRouterToServer {
fn default() -> &'a CMsgSteamDatagramConnectionStatsRouterToServer {
<CMsgSteamDatagramConnectionStatsRouterToServer as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramConnectionStatsRouterToServer {
pub fn new() -> CMsgSteamDatagramConnectionStatsRouterToServer {
::std::default::Default::default()
}
pub fn get_quality_relay(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_relay(&mut self) {
self.quality_relay.clear();
}
pub fn has_quality_relay(&self) -> bool {
self.quality_relay.is_some()
}
pub fn set_quality_relay(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_relay = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_relay(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_relay.is_none() {
self.quality_relay.set_default();
}
self.quality_relay.as_mut().unwrap()
}
pub fn take_quality_relay(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_quality_e2e(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_e2e(&mut self) {
self.quality_e2e.clear();
}
pub fn has_quality_e2e(&self) -> bool {
self.quality_e2e.is_some()
}
pub fn set_quality_e2e(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_e2e = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_e2e(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_e2e.is_none() {
self.quality_e2e.set_default();
}
self.quality_e2e.as_mut().unwrap()
}
pub fn take_quality_e2e(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_ack_relay(&self) -> &[u32] {
&self.ack_relay
}
pub fn clear_ack_relay(&mut self) {
self.ack_relay.clear();
}
pub fn set_ack_relay(&mut self, v: ::std::vec::Vec<u32>) {
self.ack_relay = v;
}
pub fn mut_ack_relay(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.ack_relay
}
pub fn take_ack_relay(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.ack_relay, ::std::vec::Vec::new())
}
pub fn get_legacy_ack_e2e(&self) -> &[u32] {
&self.legacy_ack_e2e
}
pub fn clear_legacy_ack_e2e(&mut self) {
self.legacy_ack_e2e.clear();
}
pub fn set_legacy_ack_e2e(&mut self, v: ::std::vec::Vec<u32>) {
self.legacy_ack_e2e = v;
}
pub fn mut_legacy_ack_e2e(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.legacy_ack_e2e
}
pub fn take_legacy_ack_e2e(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.legacy_ack_e2e, ::std::vec::Vec::new())
}
pub fn get_flags(&self) -> u32 {
self.flags.unwrap_or(0)
}
pub fn clear_flags(&mut self) {
self.flags = ::std::option::Option::None;
}
pub fn has_flags(&self) -> bool {
self.flags.is_some()
}
pub fn set_flags(&mut self, v: u32) {
self.flags = ::std::option::Option::Some(v);
}
pub fn get_seq_num_r2s(&self) -> u32 {
self.seq_num_r2s.unwrap_or(0)
}
pub fn clear_seq_num_r2s(&mut self) {
self.seq_num_r2s = ::std::option::Option::None;
}
pub fn has_seq_num_r2s(&self) -> bool {
self.seq_num_r2s.is_some()
}
pub fn set_seq_num_r2s(&mut self, v: u32) {
self.seq_num_r2s = ::std::option::Option::Some(v);
}
pub fn get_seq_num_e2e(&self) -> u32 {
self.seq_num_e2e.unwrap_or(0)
}
pub fn clear_seq_num_e2e(&mut self) {
self.seq_num_e2e = ::std::option::Option::None;
}
pub fn has_seq_num_e2e(&self) -> bool {
self.seq_num_e2e.is_some()
}
pub fn set_seq_num_e2e(&mut self, v: u32) {
self.seq_num_e2e = ::std::option::Option::Some(v);
}
pub fn get_client_identity_string(&self) -> &str {
match self.client_identity_string.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_client_identity_string(&mut self) {
self.client_identity_string.clear();
}
pub fn has_client_identity_string(&self) -> bool {
self.client_identity_string.is_some()
}
pub fn set_client_identity_string(&mut self, v: ::std::string::String) {
self.client_identity_string = ::protobuf::SingularField::some(v);
}
pub fn mut_client_identity_string(&mut self) -> &mut ::std::string::String {
if self.client_identity_string.is_none() {
self.client_identity_string.set_default();
}
self.client_identity_string.as_mut().unwrap()
}
pub fn take_client_identity_string(&mut self) -> ::std::string::String {
self.client_identity_string.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_legacy_client_steam_id(&self) -> u64 {
self.legacy_client_steam_id.unwrap_or(0)
}
pub fn clear_legacy_client_steam_id(&mut self) {
self.legacy_client_steam_id = ::std::option::Option::None;
}
pub fn has_legacy_client_steam_id(&self) -> bool {
self.legacy_client_steam_id.is_some()
}
pub fn set_legacy_client_steam_id(&mut self, v: u64) {
self.legacy_client_steam_id = ::std::option::Option::Some(v);
}
pub fn get_relay_session_id(&self) -> u32 {
self.relay_session_id.unwrap_or(0)
}
pub fn clear_relay_session_id(&mut self) {
self.relay_session_id = ::std::option::Option::None;
}
pub fn has_relay_session_id(&self) -> bool {
self.relay_session_id.is_some()
}
pub fn set_relay_session_id(&mut self, v: u32) {
self.relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_client_connection_id(&self) -> u32 {
self.client_connection_id.unwrap_or(0)
}
pub fn clear_client_connection_id(&mut self) {
self.client_connection_id = ::std::option::Option::None;
}
pub fn has_client_connection_id(&self) -> bool {
self.client_connection_id.is_some()
}
pub fn set_client_connection_id(&mut self, v: u32) {
self.client_connection_id = ::std::option::Option::Some(v);
}
pub fn get_server_connection_id(&self) -> u32 {
self.server_connection_id.unwrap_or(0)
}
pub fn clear_server_connection_id(&mut self) {
self.server_connection_id = ::std::option::Option::None;
}
pub fn has_server_connection_id(&self) -> bool {
self.server_connection_id.is_some()
}
pub fn set_server_connection_id(&mut self, v: u32) {
self.server_connection_id = ::std::option::Option::Some(v);
}
pub fn get_routing_secret(&self) -> u64 {
self.routing_secret.unwrap_or(0)
}
pub fn clear_routing_secret(&mut self) {
self.routing_secret = ::std::option::Option::None;
}
pub fn has_routing_secret(&self) -> bool {
self.routing_secret.is_some()
}
pub fn set_routing_secret(&mut self, v: u64) {
self.routing_secret = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramConnectionStatsRouterToServer {
fn is_initialized(&self) -> bool {
for v in &self.quality_relay {
if !v.is_initialized() {
return false;
}
};
for v in &self.quality_e2e {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_relay)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_e2e)?;
},
10 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.ack_relay)?;
},
11 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.legacy_ack_e2e)?;
},
12 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.flags = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_r2s = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_e2e = ::std::option::Option::Some(tmp);
},
15 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.client_identity_string)?;
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.legacy_client_steam_id = ::std::option::Option::Some(tmp);
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.relay_session_id = ::std::option::Option::Some(tmp);
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.client_connection_id = ::std::option::Option::Some(tmp);
},
13 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.server_connection_id = ::std::option::Option::Some(tmp);
},
14 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.routing_secret = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.quality_relay.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
my_size += 5 * self.ack_relay.len() as u32;
my_size += 5 * self.legacy_ack_e2e.len() as u32;
if let Some(v) = self.flags {
my_size += ::protobuf::rt::value_size(12, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seq_num_r2s {
my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seq_num_e2e {
my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.client_identity_string.as_ref() {
my_size += ::protobuf::rt::string_size(15, &v);
}
if let Some(v) = self.legacy_client_steam_id {
my_size += 9;
}
if let Some(v) = self.relay_session_id {
my_size += ::protobuf::rt::value_size(8, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.client_connection_id {
my_size += 5;
}
if let Some(v) = self.server_connection_id {
my_size += 5;
}
if let Some(v) = self.routing_secret {
my_size += 9;
}
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.quality_relay.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
for v in &self.ack_relay {
os.write_fixed32(10, *v)?;
};
for v in &self.legacy_ack_e2e {
os.write_fixed32(11, *v)?;
};
if let Some(v) = self.flags {
os.write_uint32(12, v)?;
}
if let Some(v) = self.seq_num_r2s {
os.write_uint32(5, v)?;
}
if let Some(v) = self.seq_num_e2e {
os.write_uint32(6, v)?;
}
if let Some(ref v) = self.client_identity_string.as_ref() {
os.write_string(15, &v)?;
}
if let Some(v) = self.legacy_client_steam_id {
os.write_fixed64(7, v)?;
}
if let Some(v) = self.relay_session_id {
os.write_uint32(8, v)?;
}
if let Some(v) = self.client_connection_id {
os.write_fixed32(9, v)?;
}
if let Some(v) = self.server_connection_id {
os.write_fixed32(13, v)?;
}
if let Some(v) = self.routing_secret {
os.write_fixed64(14, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramConnectionStatsRouterToServer {
CMsgSteamDatagramConnectionStatsRouterToServer::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_relay",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.quality_relay },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.quality_relay },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_e2e",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.quality_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.quality_e2e },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"ack_relay",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.ack_relay },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.ack_relay },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"legacy_ack_e2e",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.legacy_ack_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.legacy_ack_e2e },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"flags",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.flags },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.flags },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_r2s",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.seq_num_r2s },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.seq_num_r2s },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_e2e",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.seq_num_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.seq_num_e2e },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"client_identity_string",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.client_identity_string },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.client_identity_string },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"legacy_client_steam_id",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.legacy_client_steam_id },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.legacy_client_steam_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"relay_session_id",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.relay_session_id },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"client_connection_id",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.client_connection_id },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.client_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"server_connection_id",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.server_connection_id },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.server_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"routing_secret",
|m: &CMsgSteamDatagramConnectionStatsRouterToServer| { &m.routing_secret },
|m: &mut CMsgSteamDatagramConnectionStatsRouterToServer| { &mut m.routing_secret },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsRouterToServer>(
"CMsgSteamDatagramConnectionStatsRouterToServer",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramConnectionStatsRouterToServer {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramConnectionStatsRouterToServer> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramConnectionStatsRouterToServer::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramConnectionStatsRouterToServer {
fn clear(&mut self) {
self.quality_relay.clear();
self.quality_e2e.clear();
self.ack_relay.clear();
self.legacy_ack_e2e.clear();
self.flags = ::std::option::Option::None;
self.seq_num_r2s = ::std::option::Option::None;
self.seq_num_e2e = ::std::option::Option::None;
self.client_identity_string.clear();
self.legacy_client_steam_id = ::std::option::Option::None;
self.relay_session_id = ::std::option::Option::None;
self.client_connection_id = ::std::option::Option::None;
self.server_connection_id = ::std::option::Option::None;
self.routing_secret = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramConnectionStatsRouterToServer {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsRouterToServer {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum CMsgSteamDatagramConnectionStatsRouterToServer_Flags {
ACK_REQUEST_RELAY = 1,
ACK_REQUEST_E2E = 2,
ACK_REQUEST_IMMEDIATE = 4,
}
impl ::protobuf::ProtobufEnum for CMsgSteamDatagramConnectionStatsRouterToServer_Flags {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<CMsgSteamDatagramConnectionStatsRouterToServer_Flags> {
match value {
1 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsRouterToServer_Flags::ACK_REQUEST_RELAY),
2 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsRouterToServer_Flags::ACK_REQUEST_E2E),
4 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsRouterToServer_Flags::ACK_REQUEST_IMMEDIATE),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [CMsgSteamDatagramConnectionStatsRouterToServer_Flags] = &[
CMsgSteamDatagramConnectionStatsRouterToServer_Flags::ACK_REQUEST_RELAY,
CMsgSteamDatagramConnectionStatsRouterToServer_Flags::ACK_REQUEST_E2E,
CMsgSteamDatagramConnectionStatsRouterToServer_Flags::ACK_REQUEST_IMMEDIATE,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsRouterToServer_Flags>("CMsgSteamDatagramConnectionStatsRouterToServer.Flags", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for CMsgSteamDatagramConnectionStatsRouterToServer_Flags {
}
impl ::std::default::Default for CMsgSteamDatagramConnectionStatsRouterToServer_Flags {
fn default() -> Self {
CMsgSteamDatagramConnectionStatsRouterToServer_Flags::ACK_REQUEST_RELAY
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsRouterToServer_Flags {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramConnectionStatsServerToRouter {
pub quality_relay: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub quality_e2e: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub ack_relay: ::std::vec::Vec<u32>,
pub legacy_ack_e2e: ::std::vec::Vec<u32>,
flags: ::std::option::Option<u32>,
seq_num_s2r: ::std::option::Option<u32>,
seq_num_e2e: ::std::option::Option<u32>,
relay_session_id: ::std::option::Option<u32>,
client_connection_id: ::std::option::Option<u32>,
server_connection_id: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramConnectionStatsServerToRouter {
fn default() -> &'a CMsgSteamDatagramConnectionStatsServerToRouter {
<CMsgSteamDatagramConnectionStatsServerToRouter as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramConnectionStatsServerToRouter {
pub fn new() -> CMsgSteamDatagramConnectionStatsServerToRouter {
::std::default::Default::default()
}
pub fn get_quality_relay(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_relay(&mut self) {
self.quality_relay.clear();
}
pub fn has_quality_relay(&self) -> bool {
self.quality_relay.is_some()
}
pub fn set_quality_relay(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_relay = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_relay(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_relay.is_none() {
self.quality_relay.set_default();
}
self.quality_relay.as_mut().unwrap()
}
pub fn take_quality_relay(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_quality_e2e(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_e2e(&mut self) {
self.quality_e2e.clear();
}
pub fn has_quality_e2e(&self) -> bool {
self.quality_e2e.is_some()
}
pub fn set_quality_e2e(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_e2e = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_e2e(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_e2e.is_none() {
self.quality_e2e.set_default();
}
self.quality_e2e.as_mut().unwrap()
}
pub fn take_quality_e2e(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_ack_relay(&self) -> &[u32] {
&self.ack_relay
}
pub fn clear_ack_relay(&mut self) {
self.ack_relay.clear();
}
pub fn set_ack_relay(&mut self, v: ::std::vec::Vec<u32>) {
self.ack_relay = v;
}
pub fn mut_ack_relay(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.ack_relay
}
pub fn take_ack_relay(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.ack_relay, ::std::vec::Vec::new())
}
pub fn get_legacy_ack_e2e(&self) -> &[u32] {
&self.legacy_ack_e2e
}
pub fn clear_legacy_ack_e2e(&mut self) {
self.legacy_ack_e2e.clear();
}
pub fn set_legacy_ack_e2e(&mut self, v: ::std::vec::Vec<u32>) {
self.legacy_ack_e2e = v;
}
pub fn mut_legacy_ack_e2e(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.legacy_ack_e2e
}
pub fn take_legacy_ack_e2e(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.legacy_ack_e2e, ::std::vec::Vec::new())
}
pub fn get_flags(&self) -> u32 {
self.flags.unwrap_or(0)
}
pub fn clear_flags(&mut self) {
self.flags = ::std::option::Option::None;
}
pub fn has_flags(&self) -> bool {
self.flags.is_some()
}
pub fn set_flags(&mut self, v: u32) {
self.flags = ::std::option::Option::Some(v);
}
pub fn get_seq_num_s2r(&self) -> u32 {
self.seq_num_s2r.unwrap_or(0)
}
pub fn clear_seq_num_s2r(&mut self) {
self.seq_num_s2r = ::std::option::Option::None;
}
pub fn has_seq_num_s2r(&self) -> bool {
self.seq_num_s2r.is_some()
}
pub fn set_seq_num_s2r(&mut self, v: u32) {
self.seq_num_s2r = ::std::option::Option::Some(v);
}
pub fn get_seq_num_e2e(&self) -> u32 {
self.seq_num_e2e.unwrap_or(0)
}
pub fn clear_seq_num_e2e(&mut self) {
self.seq_num_e2e = ::std::option::Option::None;
}
pub fn has_seq_num_e2e(&self) -> bool {
self.seq_num_e2e.is_some()
}
pub fn set_seq_num_e2e(&mut self, v: u32) {
self.seq_num_e2e = ::std::option::Option::Some(v);
}
pub fn get_relay_session_id(&self) -> u32 {
self.relay_session_id.unwrap_or(0)
}
pub fn clear_relay_session_id(&mut self) {
self.relay_session_id = ::std::option::Option::None;
}
pub fn has_relay_session_id(&self) -> bool {
self.relay_session_id.is_some()
}
pub fn set_relay_session_id(&mut self, v: u32) {
self.relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_client_connection_id(&self) -> u32 {
self.client_connection_id.unwrap_or(0)
}
pub fn clear_client_connection_id(&mut self) {
self.client_connection_id = ::std::option::Option::None;
}
pub fn has_client_connection_id(&self) -> bool {
self.client_connection_id.is_some()
}
pub fn set_client_connection_id(&mut self, v: u32) {
self.client_connection_id = ::std::option::Option::Some(v);
}
pub fn get_server_connection_id(&self) -> u32 {
self.server_connection_id.unwrap_or(0)
}
pub fn clear_server_connection_id(&mut self) {
self.server_connection_id = ::std::option::Option::None;
}
pub fn has_server_connection_id(&self) -> bool {
self.server_connection_id.is_some()
}
pub fn set_server_connection_id(&mut self, v: u32) {
self.server_connection_id = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramConnectionStatsServerToRouter {
fn is_initialized(&self) -> bool {
for v in &self.quality_relay {
if !v.is_initialized() {
return false;
}
};
for v in &self.quality_e2e {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_relay)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_e2e)?;
},
8 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.ack_relay)?;
},
9 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.legacy_ack_e2e)?;
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.flags = ::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_uint32()?;
self.seq_num_s2r = ::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_uint32()?;
self.seq_num_e2e = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.relay_session_id = ::std::option::Option::Some(tmp);
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.client_connection_id = ::std::option::Option::Some(tmp);
},
11 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.server_connection_id = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.quality_relay.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
my_size += 5 * self.ack_relay.len() as u32;
my_size += 5 * self.legacy_ack_e2e.len() as u32;
if let Some(v) = self.flags {
my_size += ::protobuf::rt::value_size(10, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seq_num_s2r {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seq_num_e2e {
my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.relay_session_id {
my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.client_connection_id {
my_size += 5;
}
if let Some(v) = self.server_connection_id {
my_size += 5;
}
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.quality_relay.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
for v in &self.ack_relay {
os.write_fixed32(8, *v)?;
};
for v in &self.legacy_ack_e2e {
os.write_fixed32(9, *v)?;
};
if let Some(v) = self.flags {
os.write_uint32(10, v)?;
}
if let Some(v) = self.seq_num_s2r {
os.write_uint32(3, v)?;
}
if let Some(v) = self.seq_num_e2e {
os.write_uint32(4, v)?;
}
if let Some(v) = self.relay_session_id {
os.write_uint32(6, v)?;
}
if let Some(v) = self.client_connection_id {
os.write_fixed32(7, v)?;
}
if let Some(v) = self.server_connection_id {
os.write_fixed32(11, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramConnectionStatsServerToRouter {
CMsgSteamDatagramConnectionStatsServerToRouter::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_relay",
|m: &CMsgSteamDatagramConnectionStatsServerToRouter| { &m.quality_relay },
|m: &mut CMsgSteamDatagramConnectionStatsServerToRouter| { &mut m.quality_relay },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_e2e",
|m: &CMsgSteamDatagramConnectionStatsServerToRouter| { &m.quality_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsServerToRouter| { &mut m.quality_e2e },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"ack_relay",
|m: &CMsgSteamDatagramConnectionStatsServerToRouter| { &m.ack_relay },
|m: &mut CMsgSteamDatagramConnectionStatsServerToRouter| { &mut m.ack_relay },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"legacy_ack_e2e",
|m: &CMsgSteamDatagramConnectionStatsServerToRouter| { &m.legacy_ack_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsServerToRouter| { &mut m.legacy_ack_e2e },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"flags",
|m: &CMsgSteamDatagramConnectionStatsServerToRouter| { &m.flags },
|m: &mut CMsgSteamDatagramConnectionStatsServerToRouter| { &mut m.flags },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_s2r",
|m: &CMsgSteamDatagramConnectionStatsServerToRouter| { &m.seq_num_s2r },
|m: &mut CMsgSteamDatagramConnectionStatsServerToRouter| { &mut m.seq_num_s2r },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_e2e",
|m: &CMsgSteamDatagramConnectionStatsServerToRouter| { &m.seq_num_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsServerToRouter| { &mut m.seq_num_e2e },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"relay_session_id",
|m: &CMsgSteamDatagramConnectionStatsServerToRouter| { &m.relay_session_id },
|m: &mut CMsgSteamDatagramConnectionStatsServerToRouter| { &mut m.relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"client_connection_id",
|m: &CMsgSteamDatagramConnectionStatsServerToRouter| { &m.client_connection_id },
|m: &mut CMsgSteamDatagramConnectionStatsServerToRouter| { &mut m.client_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"server_connection_id",
|m: &CMsgSteamDatagramConnectionStatsServerToRouter| { &m.server_connection_id },
|m: &mut CMsgSteamDatagramConnectionStatsServerToRouter| { &mut m.server_connection_id },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsServerToRouter>(
"CMsgSteamDatagramConnectionStatsServerToRouter",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramConnectionStatsServerToRouter {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramConnectionStatsServerToRouter> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramConnectionStatsServerToRouter::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramConnectionStatsServerToRouter {
fn clear(&mut self) {
self.quality_relay.clear();
self.quality_e2e.clear();
self.ack_relay.clear();
self.legacy_ack_e2e.clear();
self.flags = ::std::option::Option::None;
self.seq_num_s2r = ::std::option::Option::None;
self.seq_num_e2e = ::std::option::Option::None;
self.relay_session_id = ::std::option::Option::None;
self.client_connection_id = ::std::option::Option::None;
self.server_connection_id = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramConnectionStatsServerToRouter {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsServerToRouter {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum CMsgSteamDatagramConnectionStatsServerToRouter_Flags {
ACK_REQUEST_RELAY = 1,
ACK_REQUEST_E2E = 2,
ACK_REQUEST_IMMEDIATE = 4,
}
impl ::protobuf::ProtobufEnum for CMsgSteamDatagramConnectionStatsServerToRouter_Flags {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<CMsgSteamDatagramConnectionStatsServerToRouter_Flags> {
match value {
1 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsServerToRouter_Flags::ACK_REQUEST_RELAY),
2 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsServerToRouter_Flags::ACK_REQUEST_E2E),
4 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsServerToRouter_Flags::ACK_REQUEST_IMMEDIATE),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [CMsgSteamDatagramConnectionStatsServerToRouter_Flags] = &[
CMsgSteamDatagramConnectionStatsServerToRouter_Flags::ACK_REQUEST_RELAY,
CMsgSteamDatagramConnectionStatsServerToRouter_Flags::ACK_REQUEST_E2E,
CMsgSteamDatagramConnectionStatsServerToRouter_Flags::ACK_REQUEST_IMMEDIATE,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsServerToRouter_Flags>("CMsgSteamDatagramConnectionStatsServerToRouter.Flags", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for CMsgSteamDatagramConnectionStatsServerToRouter_Flags {
}
impl ::std::default::Default for CMsgSteamDatagramConnectionStatsServerToRouter_Flags {
fn default() -> Self {
CMsgSteamDatagramConnectionStatsServerToRouter_Flags::ACK_REQUEST_RELAY
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsServerToRouter_Flags {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramP2PSessionRequestBody {
challenge_time: ::std::option::Option<u32>,
challenge: ::std::option::Option<u64>,
client_connection_id: ::std::option::Option<u32>,
legacy_peer_steam_id: ::std::option::Option<u64>,
peer_identity_string: ::protobuf::SingularField<::std::string::String>,
peer_connection_id: ::std::option::Option<u32>,
protocol_version: ::std::option::Option<u32>,
network_config_version: ::std::option::Option<u32>,
unused_public_ip: ::std::option::Option<u32>,
platform: ::protobuf::SingularField<::std::string::String>,
build: ::protobuf::SingularField<::std::string::String>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramP2PSessionRequestBody {
fn default() -> &'a CMsgSteamDatagramP2PSessionRequestBody {
<CMsgSteamDatagramP2PSessionRequestBody as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramP2PSessionRequestBody {
pub fn new() -> CMsgSteamDatagramP2PSessionRequestBody {
::std::default::Default::default()
}
pub fn get_challenge_time(&self) -> u32 {
self.challenge_time.unwrap_or(0)
}
pub fn clear_challenge_time(&mut self) {
self.challenge_time = ::std::option::Option::None;
}
pub fn has_challenge_time(&self) -> bool {
self.challenge_time.is_some()
}
pub fn set_challenge_time(&mut self, v: u32) {
self.challenge_time = ::std::option::Option::Some(v);
}
pub fn get_challenge(&self) -> u64 {
self.challenge.unwrap_or(0)
}
pub fn clear_challenge(&mut self) {
self.challenge = ::std::option::Option::None;
}
pub fn has_challenge(&self) -> bool {
self.challenge.is_some()
}
pub fn set_challenge(&mut self, v: u64) {
self.challenge = ::std::option::Option::Some(v);
}
pub fn get_client_connection_id(&self) -> u32 {
self.client_connection_id.unwrap_or(0)
}
pub fn clear_client_connection_id(&mut self) {
self.client_connection_id = ::std::option::Option::None;
}
pub fn has_client_connection_id(&self) -> bool {
self.client_connection_id.is_some()
}
pub fn set_client_connection_id(&mut self, v: u32) {
self.client_connection_id = ::std::option::Option::Some(v);
}
pub fn get_legacy_peer_steam_id(&self) -> u64 {
self.legacy_peer_steam_id.unwrap_or(0)
}
pub fn clear_legacy_peer_steam_id(&mut self) {
self.legacy_peer_steam_id = ::std::option::Option::None;
}
pub fn has_legacy_peer_steam_id(&self) -> bool {
self.legacy_peer_steam_id.is_some()
}
pub fn set_legacy_peer_steam_id(&mut self, v: u64) {
self.legacy_peer_steam_id = ::std::option::Option::Some(v);
}
pub fn get_peer_identity_string(&self) -> &str {
match self.peer_identity_string.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_peer_identity_string(&mut self) {
self.peer_identity_string.clear();
}
pub fn has_peer_identity_string(&self) -> bool {
self.peer_identity_string.is_some()
}
pub fn set_peer_identity_string(&mut self, v: ::std::string::String) {
self.peer_identity_string = ::protobuf::SingularField::some(v);
}
pub fn mut_peer_identity_string(&mut self) -> &mut ::std::string::String {
if self.peer_identity_string.is_none() {
self.peer_identity_string.set_default();
}
self.peer_identity_string.as_mut().unwrap()
}
pub fn take_peer_identity_string(&mut self) -> ::std::string::String {
self.peer_identity_string.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_peer_connection_id(&self) -> u32 {
self.peer_connection_id.unwrap_or(0)
}
pub fn clear_peer_connection_id(&mut self) {
self.peer_connection_id = ::std::option::Option::None;
}
pub fn has_peer_connection_id(&self) -> bool {
self.peer_connection_id.is_some()
}
pub fn set_peer_connection_id(&mut self, v: u32) {
self.peer_connection_id = ::std::option::Option::Some(v);
}
pub fn get_protocol_version(&self) -> u32 {
self.protocol_version.unwrap_or(0)
}
pub fn clear_protocol_version(&mut self) {
self.protocol_version = ::std::option::Option::None;
}
pub fn has_protocol_version(&self) -> bool {
self.protocol_version.is_some()
}
pub fn set_protocol_version(&mut self, v: u32) {
self.protocol_version = ::std::option::Option::Some(v);
}
pub fn get_network_config_version(&self) -> u32 {
self.network_config_version.unwrap_or(0)
}
pub fn clear_network_config_version(&mut self) {
self.network_config_version = ::std::option::Option::None;
}
pub fn has_network_config_version(&self) -> bool {
self.network_config_version.is_some()
}
pub fn set_network_config_version(&mut self, v: u32) {
self.network_config_version = ::std::option::Option::Some(v);
}
pub fn get_unused_public_ip(&self) -> u32 {
self.unused_public_ip.unwrap_or(0)
}
pub fn clear_unused_public_ip(&mut self) {
self.unused_public_ip = ::std::option::Option::None;
}
pub fn has_unused_public_ip(&self) -> bool {
self.unused_public_ip.is_some()
}
pub fn set_unused_public_ip(&mut self, v: u32) {
self.unused_public_ip = ::std::option::Option::Some(v);
}
pub fn get_platform(&self) -> &str {
match self.platform.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_platform(&mut self) {
self.platform.clear();
}
pub fn has_platform(&self) -> bool {
self.platform.is_some()
}
pub fn set_platform(&mut self, v: ::std::string::String) {
self.platform = ::protobuf::SingularField::some(v);
}
pub fn mut_platform(&mut self) -> &mut ::std::string::String {
if self.platform.is_none() {
self.platform.set_default();
}
self.platform.as_mut().unwrap()
}
pub fn take_platform(&mut self) -> ::std::string::String {
self.platform.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_build(&self) -> &str {
match self.build.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_build(&mut self) {
self.build.clear();
}
pub fn has_build(&self) -> bool {
self.build.is_some()
}
pub fn set_build(&mut self, v: ::std::string::String) {
self.build = ::protobuf::SingularField::some(v);
}
pub fn mut_build(&mut self) -> &mut ::std::string::String {
if self.build.is_none() {
self.build.set_default();
}
self.build.as_mut().unwrap()
}
pub fn take_build(&mut self) -> ::std::string::String {
self.build.take().unwrap_or_else(|| ::std::string::String::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramP2PSessionRequestBody {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.challenge_time = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.challenge = ::std::option::Option::Some(tmp);
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.client_connection_id = ::std::option::Option::Some(tmp);
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.legacy_peer_steam_id = ::std::option::Option::Some(tmp);
},
11 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.peer_identity_string)?;
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.peer_connection_id = ::std::option::Option::Some(tmp);
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.protocol_version = ::std::option::Option::Some(tmp);
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.network_config_version = ::std::option::Option::Some(tmp);
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.unused_public_ip = ::std::option::Option::Some(tmp);
},
12 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.platform)?;
},
13 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.build)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.challenge_time {
my_size += 5;
}
if let Some(v) = self.challenge {
my_size += 9;
}
if let Some(v) = self.client_connection_id {
my_size += 5;
}
if let Some(v) = self.legacy_peer_steam_id {
my_size += 9;
}
if let Some(ref v) = self.peer_identity_string.as_ref() {
my_size += ::protobuf::rt::string_size(11, &v);
}
if let Some(v) = self.peer_connection_id {
my_size += 5;
}
if let Some(v) = self.protocol_version {
my_size += ::protobuf::rt::value_size(8, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.network_config_version {
my_size += ::protobuf::rt::value_size(9, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.unused_public_ip {
my_size += 5;
}
if let Some(ref v) = self.platform.as_ref() {
my_size += ::protobuf::rt::string_size(12, &v);
}
if let Some(ref v) = self.build.as_ref() {
my_size += ::protobuf::rt::string_size(13, &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(v) = self.challenge_time {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.challenge {
os.write_fixed64(2, v)?;
}
if let Some(v) = self.client_connection_id {
os.write_fixed32(3, v)?;
}
if let Some(v) = self.legacy_peer_steam_id {
os.write_fixed64(4, v)?;
}
if let Some(ref v) = self.peer_identity_string.as_ref() {
os.write_string(11, &v)?;
}
if let Some(v) = self.peer_connection_id {
os.write_fixed32(5, v)?;
}
if let Some(v) = self.protocol_version {
os.write_uint32(8, v)?;
}
if let Some(v) = self.network_config_version {
os.write_uint32(9, v)?;
}
if let Some(v) = self.unused_public_ip {
os.write_fixed32(10, v)?;
}
if let Some(ref v) = self.platform.as_ref() {
os.write_string(12, &v)?;
}
if let Some(ref v) = self.build.as_ref() {
os.write_string(13, &v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramP2PSessionRequestBody {
CMsgSteamDatagramP2PSessionRequestBody::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"challenge_time",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.challenge_time },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.challenge_time },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"challenge",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.challenge },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.challenge },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"client_connection_id",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.client_connection_id },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.client_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"legacy_peer_steam_id",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.legacy_peer_steam_id },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.legacy_peer_steam_id },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"peer_identity_string",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.peer_identity_string },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.peer_identity_string },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"peer_connection_id",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.peer_connection_id },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.peer_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"protocol_version",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.protocol_version },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.protocol_version },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"network_config_version",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.network_config_version },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.network_config_version },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"unused_public_ip",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.unused_public_ip },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.unused_public_ip },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"platform",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.platform },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.platform },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"build",
|m: &CMsgSteamDatagramP2PSessionRequestBody| { &m.build },
|m: &mut CMsgSteamDatagramP2PSessionRequestBody| { &mut m.build },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramP2PSessionRequestBody>(
"CMsgSteamDatagramP2PSessionRequestBody",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramP2PSessionRequestBody {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramP2PSessionRequestBody> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramP2PSessionRequestBody::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramP2PSessionRequestBody {
fn clear(&mut self) {
self.challenge_time = ::std::option::Option::None;
self.challenge = ::std::option::Option::None;
self.client_connection_id = ::std::option::Option::None;
self.legacy_peer_steam_id = ::std::option::Option::None;
self.peer_identity_string.clear();
self.peer_connection_id = ::std::option::Option::None;
self.protocol_version = ::std::option::Option::None;
self.network_config_version = ::std::option::Option::None;
self.unused_public_ip = ::std::option::Option::None;
self.platform.clear();
self.build.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramP2PSessionRequestBody {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramP2PSessionRequestBody {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramP2PSessionRequest {
pub cert: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned>,
body: ::protobuf::SingularField<::std::vec::Vec<u8>>,
signature: ::protobuf::SingularField<::std::vec::Vec<u8>>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramP2PSessionRequest {
fn default() -> &'a CMsgSteamDatagramP2PSessionRequest {
<CMsgSteamDatagramP2PSessionRequest as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramP2PSessionRequest {
pub fn new() -> CMsgSteamDatagramP2PSessionRequest {
::std::default::Default::default()
}
pub fn get_cert(&self) -> &super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
self.cert.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned as ::protobuf::Message>::default_instance())
}
pub fn clear_cert(&mut self) {
self.cert.clear();
}
pub fn has_cert(&self) -> bool {
self.cert.is_some()
}
pub fn set_cert(&mut self, v: super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned) {
self.cert = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_cert(&mut self) -> &mut super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
if self.cert.is_none() {
self.cert.set_default();
}
self.cert.as_mut().unwrap()
}
pub fn take_cert(&mut self) -> super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned {
self.cert.take().unwrap_or_else(|| super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned::new())
}
pub fn get_body(&self) -> &[u8] {
match self.body.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_body(&mut self) {
self.body.clear();
}
pub fn has_body(&self) -> bool {
self.body.is_some()
}
pub fn set_body(&mut self, v: ::std::vec::Vec<u8>) {
self.body = ::protobuf::SingularField::some(v);
}
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()
}
pub fn take_body(&mut self) -> ::std::vec::Vec<u8> {
self.body.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_signature(&self) -> &[u8] {
match self.signature.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_signature(&mut self) {
self.signature.clear();
}
pub fn has_signature(&self) -> bool {
self.signature.is_some()
}
pub fn set_signature(&mut self, v: ::std::vec::Vec<u8>) {
self.signature = ::protobuf::SingularField::some(v);
}
pub fn mut_signature(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.signature.is_none() {
self.signature.set_default();
}
self.signature.as_mut().unwrap()
}
pub fn take_signature(&mut self) -> ::std::vec::Vec<u8> {
self.signature.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramP2PSessionRequest {
fn is_initialized(&self) -> bool {
for v in &self.cert {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cert)?;
},
2 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.body)?;
},
3 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.signature)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.cert.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.body.as_ref() {
my_size += ::protobuf::rt::bytes_size(2, &v);
}
if let Some(ref v) = self.signature.as_ref() {
my_size += ::protobuf::rt::bytes_size(3, &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.cert.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.body.as_ref() {
os.write_bytes(2, &v)?;
}
if let Some(ref v) = self.signature.as_ref() {
os.write_bytes(3, &v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramP2PSessionRequest {
CMsgSteamDatagramP2PSessionRequest::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages_certs::CMsgSteamDatagramCertificateSigned>>(
"cert",
|m: &CMsgSteamDatagramP2PSessionRequest| { &m.cert },
|m: &mut CMsgSteamDatagramP2PSessionRequest| { &mut m.cert },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"body",
|m: &CMsgSteamDatagramP2PSessionRequest| { &m.body },
|m: &mut CMsgSteamDatagramP2PSessionRequest| { &mut m.body },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"signature",
|m: &CMsgSteamDatagramP2PSessionRequest| { &m.signature },
|m: &mut CMsgSteamDatagramP2PSessionRequest| { &mut m.signature },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramP2PSessionRequest>(
"CMsgSteamDatagramP2PSessionRequest",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramP2PSessionRequest {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramP2PSessionRequest> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramP2PSessionRequest::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramP2PSessionRequest {
fn clear(&mut self) {
self.cert.clear();
self.body.clear();
self.signature.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramP2PSessionRequest {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramP2PSessionRequest {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramP2PSessionEstablished {
connection_id: ::std::option::Option<u32>,
seconds_until_shutdown: ::std::option::Option<u32>,
relay_routing_token: ::protobuf::SingularField<::std::vec::Vec<u8>>,
seq_num_r2c: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramP2PSessionEstablished {
fn default() -> &'a CMsgSteamDatagramP2PSessionEstablished {
<CMsgSteamDatagramP2PSessionEstablished as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramP2PSessionEstablished {
pub fn new() -> CMsgSteamDatagramP2PSessionEstablished {
::std::default::Default::default()
}
pub fn get_connection_id(&self) -> u32 {
self.connection_id.unwrap_or(0)
}
pub fn clear_connection_id(&mut self) {
self.connection_id = ::std::option::Option::None;
}
pub fn has_connection_id(&self) -> bool {
self.connection_id.is_some()
}
pub fn set_connection_id(&mut self, v: u32) {
self.connection_id = ::std::option::Option::Some(v);
}
pub fn get_seconds_until_shutdown(&self) -> u32 {
self.seconds_until_shutdown.unwrap_or(0)
}
pub fn clear_seconds_until_shutdown(&mut self) {
self.seconds_until_shutdown = ::std::option::Option::None;
}
pub fn has_seconds_until_shutdown(&self) -> bool {
self.seconds_until_shutdown.is_some()
}
pub fn set_seconds_until_shutdown(&mut self, v: u32) {
self.seconds_until_shutdown = ::std::option::Option::Some(v);
}
pub fn get_relay_routing_token(&self) -> &[u8] {
match self.relay_routing_token.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_relay_routing_token(&mut self) {
self.relay_routing_token.clear();
}
pub fn has_relay_routing_token(&self) -> bool {
self.relay_routing_token.is_some()
}
pub fn set_relay_routing_token(&mut self, v: ::std::vec::Vec<u8>) {
self.relay_routing_token = ::protobuf::SingularField::some(v);
}
pub fn mut_relay_routing_token(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.relay_routing_token.is_none() {
self.relay_routing_token.set_default();
}
self.relay_routing_token.as_mut().unwrap()
}
pub fn take_relay_routing_token(&mut self) -> ::std::vec::Vec<u8> {
self.relay_routing_token.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_seq_num_r2c(&self) -> u32 {
self.seq_num_r2c.unwrap_or(0)
}
pub fn clear_seq_num_r2c(&mut self) {
self.seq_num_r2c = ::std::option::Option::None;
}
pub fn has_seq_num_r2c(&self) -> bool {
self.seq_num_r2c.is_some()
}
pub fn set_seq_num_r2c(&mut self, v: u32) {
self.seq_num_r2c = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramP2PSessionEstablished {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.connection_id = ::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_uint32()?;
self.seconds_until_shutdown = ::std::option::Option::Some(tmp);
},
4 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.relay_routing_token)?;
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_r2c = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.connection_id {
my_size += 5;
}
if let Some(v) = self.seconds_until_shutdown {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.relay_routing_token.as_ref() {
my_size += ::protobuf::rt::bytes_size(4, &v);
}
if let Some(v) = self.seq_num_r2c {
my_size += ::protobuf::rt::value_size(5, 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.connection_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.seconds_until_shutdown {
os.write_uint32(3, v)?;
}
if let Some(ref v) = self.relay_routing_token.as_ref() {
os.write_bytes(4, &v)?;
}
if let Some(v) = self.seq_num_r2c {
os.write_uint32(5, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramP2PSessionEstablished {
CMsgSteamDatagramP2PSessionEstablished::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"connection_id",
|m: &CMsgSteamDatagramP2PSessionEstablished| { &m.connection_id },
|m: &mut CMsgSteamDatagramP2PSessionEstablished| { &mut m.connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seconds_until_shutdown",
|m: &CMsgSteamDatagramP2PSessionEstablished| { &m.seconds_until_shutdown },
|m: &mut CMsgSteamDatagramP2PSessionEstablished| { &mut m.seconds_until_shutdown },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"relay_routing_token",
|m: &CMsgSteamDatagramP2PSessionEstablished| { &m.relay_routing_token },
|m: &mut CMsgSteamDatagramP2PSessionEstablished| { &mut m.relay_routing_token },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_r2c",
|m: &CMsgSteamDatagramP2PSessionEstablished| { &m.seq_num_r2c },
|m: &mut CMsgSteamDatagramP2PSessionEstablished| { &mut m.seq_num_r2c },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramP2PSessionEstablished>(
"CMsgSteamDatagramP2PSessionEstablished",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramP2PSessionEstablished {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramP2PSessionEstablished> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramP2PSessionEstablished::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramP2PSessionEstablished {
fn clear(&mut self) {
self.connection_id = ::std::option::Option::None;
self.seconds_until_shutdown = ::std::option::Option::None;
self.relay_routing_token.clear();
self.seq_num_r2c = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramP2PSessionEstablished {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramP2PSessionEstablished {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramConnectionStatsP2PClientToRouter {
pub quality_relay: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub quality_e2e: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub p2p_routing_summary: ::protobuf::SingularPtrField<CMsgSteamDatagramP2PRoutingSummary>,
pub ack_relay: ::std::vec::Vec<u32>,
pub legacy_ack_e2e: ::std::vec::Vec<u32>,
flags: ::std::option::Option<u32>,
forward_target_relay_routing_token: ::protobuf::SingularField<::std::vec::Vec<u8>>,
forward_target_revision: ::std::option::Option<u32>,
routes: ::protobuf::SingularField<::std::vec::Vec<u8>>,
ack_peer_routes_revision: ::std::option::Option<u32>,
connection_id: ::std::option::Option<u32>,
seq_num_c2r: ::std::option::Option<u32>,
seq_num_e2e: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramConnectionStatsP2PClientToRouter {
fn default() -> &'a CMsgSteamDatagramConnectionStatsP2PClientToRouter {
<CMsgSteamDatagramConnectionStatsP2PClientToRouter as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramConnectionStatsP2PClientToRouter {
pub fn new() -> CMsgSteamDatagramConnectionStatsP2PClientToRouter {
::std::default::Default::default()
}
pub fn get_quality_relay(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_relay(&mut self) {
self.quality_relay.clear();
}
pub fn has_quality_relay(&self) -> bool {
self.quality_relay.is_some()
}
pub fn set_quality_relay(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_relay = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_relay(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_relay.is_none() {
self.quality_relay.set_default();
}
self.quality_relay.as_mut().unwrap()
}
pub fn take_quality_relay(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_quality_e2e(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_e2e(&mut self) {
self.quality_e2e.clear();
}
pub fn has_quality_e2e(&self) -> bool {
self.quality_e2e.is_some()
}
pub fn set_quality_e2e(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_e2e = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_e2e(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_e2e.is_none() {
self.quality_e2e.set_default();
}
self.quality_e2e.as_mut().unwrap()
}
pub fn take_quality_e2e(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_p2p_routing_summary(&self) -> &CMsgSteamDatagramP2PRoutingSummary {
self.p2p_routing_summary.as_ref().unwrap_or_else(|| <CMsgSteamDatagramP2PRoutingSummary as ::protobuf::Message>::default_instance())
}
pub fn clear_p2p_routing_summary(&mut self) {
self.p2p_routing_summary.clear();
}
pub fn has_p2p_routing_summary(&self) -> bool {
self.p2p_routing_summary.is_some()
}
pub fn set_p2p_routing_summary(&mut self, v: CMsgSteamDatagramP2PRoutingSummary) {
self.p2p_routing_summary = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_p2p_routing_summary(&mut self) -> &mut CMsgSteamDatagramP2PRoutingSummary {
if self.p2p_routing_summary.is_none() {
self.p2p_routing_summary.set_default();
}
self.p2p_routing_summary.as_mut().unwrap()
}
pub fn take_p2p_routing_summary(&mut self) -> CMsgSteamDatagramP2PRoutingSummary {
self.p2p_routing_summary.take().unwrap_or_else(|| CMsgSteamDatagramP2PRoutingSummary::new())
}
pub fn get_ack_relay(&self) -> &[u32] {
&self.ack_relay
}
pub fn clear_ack_relay(&mut self) {
self.ack_relay.clear();
}
pub fn set_ack_relay(&mut self, v: ::std::vec::Vec<u32>) {
self.ack_relay = v;
}
pub fn mut_ack_relay(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.ack_relay
}
pub fn take_ack_relay(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.ack_relay, ::std::vec::Vec::new())
}
pub fn get_legacy_ack_e2e(&self) -> &[u32] {
&self.legacy_ack_e2e
}
pub fn clear_legacy_ack_e2e(&mut self) {
self.legacy_ack_e2e.clear();
}
pub fn set_legacy_ack_e2e(&mut self, v: ::std::vec::Vec<u32>) {
self.legacy_ack_e2e = v;
}
pub fn mut_legacy_ack_e2e(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.legacy_ack_e2e
}
pub fn take_legacy_ack_e2e(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.legacy_ack_e2e, ::std::vec::Vec::new())
}
pub fn get_flags(&self) -> u32 {
self.flags.unwrap_or(0)
}
pub fn clear_flags(&mut self) {
self.flags = ::std::option::Option::None;
}
pub fn has_flags(&self) -> bool {
self.flags.is_some()
}
pub fn set_flags(&mut self, v: u32) {
self.flags = ::std::option::Option::Some(v);
}
pub fn get_forward_target_relay_routing_token(&self) -> &[u8] {
match self.forward_target_relay_routing_token.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_forward_target_relay_routing_token(&mut self) {
self.forward_target_relay_routing_token.clear();
}
pub fn has_forward_target_relay_routing_token(&self) -> bool {
self.forward_target_relay_routing_token.is_some()
}
pub fn set_forward_target_relay_routing_token(&mut self, v: ::std::vec::Vec<u8>) {
self.forward_target_relay_routing_token = ::protobuf::SingularField::some(v);
}
pub fn mut_forward_target_relay_routing_token(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.forward_target_relay_routing_token.is_none() {
self.forward_target_relay_routing_token.set_default();
}
self.forward_target_relay_routing_token.as_mut().unwrap()
}
pub fn take_forward_target_relay_routing_token(&mut self) -> ::std::vec::Vec<u8> {
self.forward_target_relay_routing_token.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_forward_target_revision(&self) -> u32 {
self.forward_target_revision.unwrap_or(0)
}
pub fn clear_forward_target_revision(&mut self) {
self.forward_target_revision = ::std::option::Option::None;
}
pub fn has_forward_target_revision(&self) -> bool {
self.forward_target_revision.is_some()
}
pub fn set_forward_target_revision(&mut self, v: u32) {
self.forward_target_revision = ::std::option::Option::Some(v);
}
pub fn get_routes(&self) -> &[u8] {
match self.routes.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_routes(&mut self) {
self.routes.clear();
}
pub fn has_routes(&self) -> bool {
self.routes.is_some()
}
pub fn set_routes(&mut self, v: ::std::vec::Vec<u8>) {
self.routes = ::protobuf::SingularField::some(v);
}
pub fn mut_routes(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.routes.is_none() {
self.routes.set_default();
}
self.routes.as_mut().unwrap()
}
pub fn take_routes(&mut self) -> ::std::vec::Vec<u8> {
self.routes.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_ack_peer_routes_revision(&self) -> u32 {
self.ack_peer_routes_revision.unwrap_or(0)
}
pub fn clear_ack_peer_routes_revision(&mut self) {
self.ack_peer_routes_revision = ::std::option::Option::None;
}
pub fn has_ack_peer_routes_revision(&self) -> bool {
self.ack_peer_routes_revision.is_some()
}
pub fn set_ack_peer_routes_revision(&mut self, v: u32) {
self.ack_peer_routes_revision = ::std::option::Option::Some(v);
}
pub fn get_connection_id(&self) -> u32 {
self.connection_id.unwrap_or(0)
}
pub fn clear_connection_id(&mut self) {
self.connection_id = ::std::option::Option::None;
}
pub fn has_connection_id(&self) -> bool {
self.connection_id.is_some()
}
pub fn set_connection_id(&mut self, v: u32) {
self.connection_id = ::std::option::Option::Some(v);
}
pub fn get_seq_num_c2r(&self) -> u32 {
self.seq_num_c2r.unwrap_or(0)
}
pub fn clear_seq_num_c2r(&mut self) {
self.seq_num_c2r = ::std::option::Option::None;
}
pub fn has_seq_num_c2r(&self) -> bool {
self.seq_num_c2r.is_some()
}
pub fn set_seq_num_c2r(&mut self, v: u32) {
self.seq_num_c2r = ::std::option::Option::Some(v);
}
pub fn get_seq_num_e2e(&self) -> u32 {
self.seq_num_e2e.unwrap_or(0)
}
pub fn clear_seq_num_e2e(&mut self) {
self.seq_num_e2e = ::std::option::Option::None;
}
pub fn has_seq_num_e2e(&self) -> bool {
self.seq_num_e2e.is_some()
}
pub fn set_seq_num_e2e(&mut self, v: u32) {
self.seq_num_e2e = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramConnectionStatsP2PClientToRouter {
fn is_initialized(&self) -> bool {
for v in &self.quality_relay {
if !v.is_initialized() {
return false;
}
};
for v in &self.quality_e2e {
if !v.is_initialized() {
return false;
}
};
for v in &self.p2p_routing_summary {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_relay)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_e2e)?;
},
14 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.p2p_routing_summary)?;
},
3 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.ack_relay)?;
},
4 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.legacy_ack_e2e)?;
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.flags = ::std::option::Option::Some(tmp);
},
6 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.forward_target_relay_routing_token)?;
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.forward_target_revision = ::std::option::Option::Some(tmp);
},
8 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.routes)?;
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.ack_peer_routes_revision = ::std::option::Option::Some(tmp);
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.connection_id = ::std::option::Option::Some(tmp);
},
11 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_c2r = ::std::option::Option::Some(tmp);
},
12 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_e2e = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.quality_relay.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.p2p_routing_summary.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
my_size += 5 * self.ack_relay.len() as u32;
my_size += 5 * self.legacy_ack_e2e.len() as u32;
if let Some(v) = self.flags {
my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.forward_target_relay_routing_token.as_ref() {
my_size += ::protobuf::rt::bytes_size(6, &v);
}
if let Some(v) = self.forward_target_revision {
my_size += ::protobuf::rt::value_size(7, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.routes.as_ref() {
my_size += ::protobuf::rt::bytes_size(8, &v);
}
if let Some(v) = self.ack_peer_routes_revision {
my_size += ::protobuf::rt::value_size(9, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.connection_id {
my_size += 5;
}
if let Some(v) = self.seq_num_c2r {
my_size += ::protobuf::rt::value_size(11, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seq_num_e2e {
my_size += ::protobuf::rt::value_size(12, 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.quality_relay.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.p2p_routing_summary.as_ref() {
os.write_tag(14, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
for v in &self.ack_relay {
os.write_fixed32(3, *v)?;
};
for v in &self.legacy_ack_e2e {
os.write_fixed32(4, *v)?;
};
if let Some(v) = self.flags {
os.write_uint32(5, v)?;
}
if let Some(ref v) = self.forward_target_relay_routing_token.as_ref() {
os.write_bytes(6, &v)?;
}
if let Some(v) = self.forward_target_revision {
os.write_uint32(7, v)?;
}
if let Some(ref v) = self.routes.as_ref() {
os.write_bytes(8, &v)?;
}
if let Some(v) = self.ack_peer_routes_revision {
os.write_uint32(9, v)?;
}
if let Some(v) = self.connection_id {
os.write_fixed32(10, v)?;
}
if let Some(v) = self.seq_num_c2r {
os.write_uint32(11, v)?;
}
if let Some(v) = self.seq_num_e2e {
os.write_uint32(12, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramConnectionStatsP2PClientToRouter {
CMsgSteamDatagramConnectionStatsP2PClientToRouter::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_relay",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.quality_relay },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.quality_relay },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_e2e",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.quality_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.quality_e2e },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramP2PRoutingSummary>>(
"p2p_routing_summary",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.p2p_routing_summary },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.p2p_routing_summary },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"ack_relay",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.ack_relay },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.ack_relay },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"legacy_ack_e2e",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.legacy_ack_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.legacy_ack_e2e },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"flags",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.flags },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.flags },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"forward_target_relay_routing_token",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.forward_target_relay_routing_token },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.forward_target_relay_routing_token },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"forward_target_revision",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.forward_target_revision },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.forward_target_revision },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"routes",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.routes },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.routes },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"ack_peer_routes_revision",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.ack_peer_routes_revision },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.ack_peer_routes_revision },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"connection_id",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.connection_id },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_c2r",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.seq_num_c2r },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.seq_num_c2r },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_e2e",
|m: &CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &m.seq_num_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsP2PClientToRouter| { &mut m.seq_num_e2e },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsP2PClientToRouter>(
"CMsgSteamDatagramConnectionStatsP2PClientToRouter",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramConnectionStatsP2PClientToRouter {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramConnectionStatsP2PClientToRouter> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramConnectionStatsP2PClientToRouter::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramConnectionStatsP2PClientToRouter {
fn clear(&mut self) {
self.quality_relay.clear();
self.quality_e2e.clear();
self.p2p_routing_summary.clear();
self.ack_relay.clear();
self.legacy_ack_e2e.clear();
self.flags = ::std::option::Option::None;
self.forward_target_relay_routing_token.clear();
self.forward_target_revision = ::std::option::Option::None;
self.routes.clear();
self.ack_peer_routes_revision = ::std::option::Option::None;
self.connection_id = ::std::option::Option::None;
self.seq_num_c2r = ::std::option::Option::None;
self.seq_num_e2e = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramConnectionStatsP2PClientToRouter {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsP2PClientToRouter {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags {
ACK_REQUEST_RELAY = 1,
ACK_REQUEST_E2E = 2,
ACK_REQUEST_IMMEDIATE = 4,
NOT_PRIMARY_SESSION = 8,
NOT_PRIMARY_TRANSPORT_E2E = 16,
}
impl ::protobuf::ProtobufEnum for CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags> {
match value {
1 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::ACK_REQUEST_RELAY),
2 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::ACK_REQUEST_E2E),
4 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::ACK_REQUEST_IMMEDIATE),
8 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::NOT_PRIMARY_SESSION),
16 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::NOT_PRIMARY_TRANSPORT_E2E),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags] = &[
CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::ACK_REQUEST_RELAY,
CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::ACK_REQUEST_E2E,
CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::ACK_REQUEST_IMMEDIATE,
CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::NOT_PRIMARY_SESSION,
CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::NOT_PRIMARY_TRANSPORT_E2E,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags>("CMsgSteamDatagramConnectionStatsP2PClientToRouter.Flags", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags {
}
impl ::std::default::Default for CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags {
fn default() -> Self {
CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags::ACK_REQUEST_RELAY
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsP2PClientToRouter_Flags {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramConnectionStatsP2PRouterToClient {
pub quality_relay: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub quality_e2e: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
seconds_until_shutdown: ::std::option::Option<u32>,
migrate_request_ip: ::std::option::Option<u32>,
migrate_request_port: ::std::option::Option<u32>,
scoring_penalty_relay_cluster: ::std::option::Option<u32>,
pub ack_relay: ::std::vec::Vec<u32>,
pub legacy_ack_e2e: ::std::vec::Vec<u32>,
flags: ::std::option::Option<u32>,
ack_forward_target_revision: ::std::option::Option<u32>,
routes: ::protobuf::SingularField<::std::vec::Vec<u8>>,
ack_peer_routes_revision: ::std::option::Option<u32>,
connection_id: ::std::option::Option<u32>,
seq_num_r2c: ::std::option::Option<u32>,
seq_num_e2e: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramConnectionStatsP2PRouterToClient {
fn default() -> &'a CMsgSteamDatagramConnectionStatsP2PRouterToClient {
<CMsgSteamDatagramConnectionStatsP2PRouterToClient as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramConnectionStatsP2PRouterToClient {
pub fn new() -> CMsgSteamDatagramConnectionStatsP2PRouterToClient {
::std::default::Default::default()
}
pub fn get_quality_relay(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_relay(&mut self) {
self.quality_relay.clear();
}
pub fn has_quality_relay(&self) -> bool {
self.quality_relay.is_some()
}
pub fn set_quality_relay(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_relay = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_relay(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_relay.is_none() {
self.quality_relay.set_default();
}
self.quality_relay.as_mut().unwrap()
}
pub fn take_quality_relay(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_quality_e2e(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_e2e(&mut self) {
self.quality_e2e.clear();
}
pub fn has_quality_e2e(&self) -> bool {
self.quality_e2e.is_some()
}
pub fn set_quality_e2e(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_e2e = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_e2e(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_e2e.is_none() {
self.quality_e2e.set_default();
}
self.quality_e2e.as_mut().unwrap()
}
pub fn take_quality_e2e(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_seconds_until_shutdown(&self) -> u32 {
self.seconds_until_shutdown.unwrap_or(0)
}
pub fn clear_seconds_until_shutdown(&mut self) {
self.seconds_until_shutdown = ::std::option::Option::None;
}
pub fn has_seconds_until_shutdown(&self) -> bool {
self.seconds_until_shutdown.is_some()
}
pub fn set_seconds_until_shutdown(&mut self, v: u32) {
self.seconds_until_shutdown = ::std::option::Option::Some(v);
}
pub fn get_migrate_request_ip(&self) -> u32 {
self.migrate_request_ip.unwrap_or(0)
}
pub fn clear_migrate_request_ip(&mut self) {
self.migrate_request_ip = ::std::option::Option::None;
}
pub fn has_migrate_request_ip(&self) -> bool {
self.migrate_request_ip.is_some()
}
pub fn set_migrate_request_ip(&mut self, v: u32) {
self.migrate_request_ip = ::std::option::Option::Some(v);
}
pub fn get_migrate_request_port(&self) -> u32 {
self.migrate_request_port.unwrap_or(0)
}
pub fn clear_migrate_request_port(&mut self) {
self.migrate_request_port = ::std::option::Option::None;
}
pub fn has_migrate_request_port(&self) -> bool {
self.migrate_request_port.is_some()
}
pub fn set_migrate_request_port(&mut self, v: u32) {
self.migrate_request_port = ::std::option::Option::Some(v);
}
pub fn get_scoring_penalty_relay_cluster(&self) -> u32 {
self.scoring_penalty_relay_cluster.unwrap_or(0)
}
pub fn clear_scoring_penalty_relay_cluster(&mut self) {
self.scoring_penalty_relay_cluster = ::std::option::Option::None;
}
pub fn has_scoring_penalty_relay_cluster(&self) -> bool {
self.scoring_penalty_relay_cluster.is_some()
}
pub fn set_scoring_penalty_relay_cluster(&mut self, v: u32) {
self.scoring_penalty_relay_cluster = ::std::option::Option::Some(v);
}
pub fn get_ack_relay(&self) -> &[u32] {
&self.ack_relay
}
pub fn clear_ack_relay(&mut self) {
self.ack_relay.clear();
}
pub fn set_ack_relay(&mut self, v: ::std::vec::Vec<u32>) {
self.ack_relay = v;
}
pub fn mut_ack_relay(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.ack_relay
}
pub fn take_ack_relay(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.ack_relay, ::std::vec::Vec::new())
}
pub fn get_legacy_ack_e2e(&self) -> &[u32] {
&self.legacy_ack_e2e
}
pub fn clear_legacy_ack_e2e(&mut self) {
self.legacy_ack_e2e.clear();
}
pub fn set_legacy_ack_e2e(&mut self, v: ::std::vec::Vec<u32>) {
self.legacy_ack_e2e = v;
}
pub fn mut_legacy_ack_e2e(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.legacy_ack_e2e
}
pub fn take_legacy_ack_e2e(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.legacy_ack_e2e, ::std::vec::Vec::new())
}
pub fn get_flags(&self) -> u32 {
self.flags.unwrap_or(0)
}
pub fn clear_flags(&mut self) {
self.flags = ::std::option::Option::None;
}
pub fn has_flags(&self) -> bool {
self.flags.is_some()
}
pub fn set_flags(&mut self, v: u32) {
self.flags = ::std::option::Option::Some(v);
}
pub fn get_ack_forward_target_revision(&self) -> u32 {
self.ack_forward_target_revision.unwrap_or(0)
}
pub fn clear_ack_forward_target_revision(&mut self) {
self.ack_forward_target_revision = ::std::option::Option::None;
}
pub fn has_ack_forward_target_revision(&self) -> bool {
self.ack_forward_target_revision.is_some()
}
pub fn set_ack_forward_target_revision(&mut self, v: u32) {
self.ack_forward_target_revision = ::std::option::Option::Some(v);
}
pub fn get_routes(&self) -> &[u8] {
match self.routes.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_routes(&mut self) {
self.routes.clear();
}
pub fn has_routes(&self) -> bool {
self.routes.is_some()
}
pub fn set_routes(&mut self, v: ::std::vec::Vec<u8>) {
self.routes = ::protobuf::SingularField::some(v);
}
pub fn mut_routes(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.routes.is_none() {
self.routes.set_default();
}
self.routes.as_mut().unwrap()
}
pub fn take_routes(&mut self) -> ::std::vec::Vec<u8> {
self.routes.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_ack_peer_routes_revision(&self) -> u32 {
self.ack_peer_routes_revision.unwrap_or(0)
}
pub fn clear_ack_peer_routes_revision(&mut self) {
self.ack_peer_routes_revision = ::std::option::Option::None;
}
pub fn has_ack_peer_routes_revision(&self) -> bool {
self.ack_peer_routes_revision.is_some()
}
pub fn set_ack_peer_routes_revision(&mut self, v: u32) {
self.ack_peer_routes_revision = ::std::option::Option::Some(v);
}
pub fn get_connection_id(&self) -> u32 {
self.connection_id.unwrap_or(0)
}
pub fn clear_connection_id(&mut self) {
self.connection_id = ::std::option::Option::None;
}
pub fn has_connection_id(&self) -> bool {
self.connection_id.is_some()
}
pub fn set_connection_id(&mut self, v: u32) {
self.connection_id = ::std::option::Option::Some(v);
}
pub fn get_seq_num_r2c(&self) -> u32 {
self.seq_num_r2c.unwrap_or(0)
}
pub fn clear_seq_num_r2c(&mut self) {
self.seq_num_r2c = ::std::option::Option::None;
}
pub fn has_seq_num_r2c(&self) -> bool {
self.seq_num_r2c.is_some()
}
pub fn set_seq_num_r2c(&mut self, v: u32) {
self.seq_num_r2c = ::std::option::Option::Some(v);
}
pub fn get_seq_num_e2e(&self) -> u32 {
self.seq_num_e2e.unwrap_or(0)
}
pub fn clear_seq_num_e2e(&mut self) {
self.seq_num_e2e = ::std::option::Option::None;
}
pub fn has_seq_num_e2e(&self) -> bool {
self.seq_num_e2e.is_some()
}
pub fn set_seq_num_e2e(&mut self, v: u32) {
self.seq_num_e2e = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramConnectionStatsP2PRouterToClient {
fn is_initialized(&self) -> bool {
for v in &self.quality_relay {
if !v.is_initialized() {
return false;
}
};
for v in &self.quality_e2e {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_relay)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_e2e)?;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seconds_until_shutdown = ::std::option::Option::Some(tmp);
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.migrate_request_ip = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.migrate_request_port = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.scoring_penalty_relay_cluster = ::std::option::Option::Some(tmp);
},
7 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.ack_relay)?;
},
8 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.legacy_ack_e2e)?;
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.flags = ::std::option::Option::Some(tmp);
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.ack_forward_target_revision = ::std::option::Option::Some(tmp);
},
11 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.routes)?;
},
12 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.ack_peer_routes_revision = ::std::option::Option::Some(tmp);
},
13 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.connection_id = ::std::option::Option::Some(tmp);
},
14 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_r2c = ::std::option::Option::Some(tmp);
},
15 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_e2e = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.quality_relay.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(v) = self.seconds_until_shutdown {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.migrate_request_ip {
my_size += 5;
}
if let Some(v) = self.migrate_request_port {
my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.scoring_penalty_relay_cluster {
my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
}
my_size += 5 * self.ack_relay.len() as u32;
my_size += 5 * self.legacy_ack_e2e.len() as u32;
if let Some(v) = self.flags {
my_size += ::protobuf::rt::value_size(9, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.ack_forward_target_revision {
my_size += ::protobuf::rt::value_size(10, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.routes.as_ref() {
my_size += ::protobuf::rt::bytes_size(11, &v);
}
if let Some(v) = self.ack_peer_routes_revision {
my_size += ::protobuf::rt::value_size(12, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.connection_id {
my_size += 5;
}
if let Some(v) = self.seq_num_r2c {
my_size += ::protobuf::rt::value_size(14, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seq_num_e2e {
my_size += ::protobuf::rt::value_size(15, 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.quality_relay.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(v) = self.seconds_until_shutdown {
os.write_uint32(3, v)?;
}
if let Some(v) = self.migrate_request_ip {
os.write_fixed32(4, v)?;
}
if let Some(v) = self.migrate_request_port {
os.write_uint32(5, v)?;
}
if let Some(v) = self.scoring_penalty_relay_cluster {
os.write_uint32(6, v)?;
}
for v in &self.ack_relay {
os.write_fixed32(7, *v)?;
};
for v in &self.legacy_ack_e2e {
os.write_fixed32(8, *v)?;
};
if let Some(v) = self.flags {
os.write_uint32(9, v)?;
}
if let Some(v) = self.ack_forward_target_revision {
os.write_uint32(10, v)?;
}
if let Some(ref v) = self.routes.as_ref() {
os.write_bytes(11, &v)?;
}
if let Some(v) = self.ack_peer_routes_revision {
os.write_uint32(12, v)?;
}
if let Some(v) = self.connection_id {
os.write_fixed32(13, v)?;
}
if let Some(v) = self.seq_num_r2c {
os.write_uint32(14, v)?;
}
if let Some(v) = self.seq_num_e2e {
os.write_uint32(15, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramConnectionStatsP2PRouterToClient {
CMsgSteamDatagramConnectionStatsP2PRouterToClient::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_relay",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.quality_relay },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.quality_relay },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_e2e",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.quality_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.quality_e2e },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seconds_until_shutdown",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.seconds_until_shutdown },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.seconds_until_shutdown },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"migrate_request_ip",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.migrate_request_ip },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.migrate_request_ip },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"migrate_request_port",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.migrate_request_port },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.migrate_request_port },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"scoring_penalty_relay_cluster",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.scoring_penalty_relay_cluster },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.scoring_penalty_relay_cluster },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"ack_relay",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.ack_relay },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.ack_relay },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"legacy_ack_e2e",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.legacy_ack_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.legacy_ack_e2e },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"flags",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.flags },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.flags },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"ack_forward_target_revision",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.ack_forward_target_revision },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.ack_forward_target_revision },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"routes",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.routes },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.routes },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"ack_peer_routes_revision",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.ack_peer_routes_revision },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.ack_peer_routes_revision },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"connection_id",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.connection_id },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_r2c",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.seq_num_r2c },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.seq_num_r2c },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_e2e",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &m.seq_num_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToClient| { &mut m.seq_num_e2e },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsP2PRouterToClient>(
"CMsgSteamDatagramConnectionStatsP2PRouterToClient",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramConnectionStatsP2PRouterToClient {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramConnectionStatsP2PRouterToClient> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramConnectionStatsP2PRouterToClient::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramConnectionStatsP2PRouterToClient {
fn clear(&mut self) {
self.quality_relay.clear();
self.quality_e2e.clear();
self.seconds_until_shutdown = ::std::option::Option::None;
self.migrate_request_ip = ::std::option::Option::None;
self.migrate_request_port = ::std::option::Option::None;
self.scoring_penalty_relay_cluster = ::std::option::Option::None;
self.ack_relay.clear();
self.legacy_ack_e2e.clear();
self.flags = ::std::option::Option::None;
self.ack_forward_target_revision = ::std::option::Option::None;
self.routes.clear();
self.ack_peer_routes_revision = ::std::option::Option::None;
self.connection_id = ::std::option::Option::None;
self.seq_num_r2c = ::std::option::Option::None;
self.seq_num_e2e = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramConnectionStatsP2PRouterToClient {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsP2PRouterToClient {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags {
ACK_REQUEST_RELAY = 1,
ACK_REQUEST_E2E = 2,
ACK_REQUEST_IMMEDIATE = 4,
NOT_PRIMARY_TRANSPORT_E2E = 16,
}
impl ::protobuf::ProtobufEnum for CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags> {
match value {
1 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags::ACK_REQUEST_RELAY),
2 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags::ACK_REQUEST_E2E),
4 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags::ACK_REQUEST_IMMEDIATE),
16 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags::NOT_PRIMARY_TRANSPORT_E2E),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags] = &[
CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags::ACK_REQUEST_RELAY,
CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags::ACK_REQUEST_E2E,
CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags::ACK_REQUEST_IMMEDIATE,
CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags::NOT_PRIMARY_TRANSPORT_E2E,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags>("CMsgSteamDatagramConnectionStatsP2PRouterToClient.Flags", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags {
}
impl ::std::default::Default for CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags {
fn default() -> Self {
CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags::ACK_REQUEST_RELAY
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsP2PRouterToClient_Flags {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramP2PBadRouteRouterToClient {
connection_id: ::std::option::Option<u32>,
failed_relay_routing_token: ::protobuf::SingularField<::std::vec::Vec<u8>>,
ack_forward_target_revision: ::std::option::Option<u32>,
kludge_pad: ::std::option::Option<u64>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramP2PBadRouteRouterToClient {
fn default() -> &'a CMsgSteamDatagramP2PBadRouteRouterToClient {
<CMsgSteamDatagramP2PBadRouteRouterToClient as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramP2PBadRouteRouterToClient {
pub fn new() -> CMsgSteamDatagramP2PBadRouteRouterToClient {
::std::default::Default::default()
}
pub fn get_connection_id(&self) -> u32 {
self.connection_id.unwrap_or(0)
}
pub fn clear_connection_id(&mut self) {
self.connection_id = ::std::option::Option::None;
}
pub fn has_connection_id(&self) -> bool {
self.connection_id.is_some()
}
pub fn set_connection_id(&mut self, v: u32) {
self.connection_id = ::std::option::Option::Some(v);
}
pub fn get_failed_relay_routing_token(&self) -> &[u8] {
match self.failed_relay_routing_token.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_failed_relay_routing_token(&mut self) {
self.failed_relay_routing_token.clear();
}
pub fn has_failed_relay_routing_token(&self) -> bool {
self.failed_relay_routing_token.is_some()
}
pub fn set_failed_relay_routing_token(&mut self, v: ::std::vec::Vec<u8>) {
self.failed_relay_routing_token = ::protobuf::SingularField::some(v);
}
pub fn mut_failed_relay_routing_token(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.failed_relay_routing_token.is_none() {
self.failed_relay_routing_token.set_default();
}
self.failed_relay_routing_token.as_mut().unwrap()
}
pub fn take_failed_relay_routing_token(&mut self) -> ::std::vec::Vec<u8> {
self.failed_relay_routing_token.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_ack_forward_target_revision(&self) -> u32 {
self.ack_forward_target_revision.unwrap_or(0)
}
pub fn clear_ack_forward_target_revision(&mut self) {
self.ack_forward_target_revision = ::std::option::Option::None;
}
pub fn has_ack_forward_target_revision(&self) -> bool {
self.ack_forward_target_revision.is_some()
}
pub fn set_ack_forward_target_revision(&mut self, v: u32) {
self.ack_forward_target_revision = ::std::option::Option::Some(v);
}
pub fn get_kludge_pad(&self) -> u64 {
self.kludge_pad.unwrap_or(0)
}
pub fn clear_kludge_pad(&mut self) {
self.kludge_pad = ::std::option::Option::None;
}
pub fn has_kludge_pad(&self) -> bool {
self.kludge_pad.is_some()
}
pub fn set_kludge_pad(&mut self, v: u64) {
self.kludge_pad = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramP2PBadRouteRouterToClient {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.connection_id = ::std::option::Option::Some(tmp);
},
2 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.failed_relay_routing_token)?;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.ack_forward_target_revision = ::std::option::Option::Some(tmp);
},
99 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.kludge_pad = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.connection_id {
my_size += 5;
}
if let Some(ref v) = self.failed_relay_routing_token.as_ref() {
my_size += ::protobuf::rt::bytes_size(2, &v);
}
if let Some(v) = self.ack_forward_target_revision {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.kludge_pad {
my_size += 10;
}
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.connection_id {
os.write_fixed32(1, v)?;
}
if let Some(ref v) = self.failed_relay_routing_token.as_ref() {
os.write_bytes(2, &v)?;
}
if let Some(v) = self.ack_forward_target_revision {
os.write_uint32(3, v)?;
}
if let Some(v) = self.kludge_pad {
os.write_fixed64(99, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramP2PBadRouteRouterToClient {
CMsgSteamDatagramP2PBadRouteRouterToClient::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"connection_id",
|m: &CMsgSteamDatagramP2PBadRouteRouterToClient| { &m.connection_id },
|m: &mut CMsgSteamDatagramP2PBadRouteRouterToClient| { &mut m.connection_id },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"failed_relay_routing_token",
|m: &CMsgSteamDatagramP2PBadRouteRouterToClient| { &m.failed_relay_routing_token },
|m: &mut CMsgSteamDatagramP2PBadRouteRouterToClient| { &mut m.failed_relay_routing_token },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"ack_forward_target_revision",
|m: &CMsgSteamDatagramP2PBadRouteRouterToClient| { &m.ack_forward_target_revision },
|m: &mut CMsgSteamDatagramP2PBadRouteRouterToClient| { &mut m.ack_forward_target_revision },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"kludge_pad",
|m: &CMsgSteamDatagramP2PBadRouteRouterToClient| { &m.kludge_pad },
|m: &mut CMsgSteamDatagramP2PBadRouteRouterToClient| { &mut m.kludge_pad },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramP2PBadRouteRouterToClient>(
"CMsgSteamDatagramP2PBadRouteRouterToClient",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramP2PBadRouteRouterToClient {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramP2PBadRouteRouterToClient> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramP2PBadRouteRouterToClient::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramP2PBadRouteRouterToClient {
fn clear(&mut self) {
self.connection_id = ::std::option::Option::None;
self.failed_relay_routing_token.clear();
self.ack_forward_target_revision = ::std::option::Option::None;
self.kludge_pad = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramP2PBadRouteRouterToClient {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramP2PBadRouteRouterToClient {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramP2PRoutes {
pub relay_clusters: ::protobuf::RepeatedField<CMsgSteamDatagramP2PRoutes_RelayCluster>,
pub routes: ::protobuf::RepeatedField<CMsgSteamDatagramP2PRoutes_Route>,
revision: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramP2PRoutes {
fn default() -> &'a CMsgSteamDatagramP2PRoutes {
<CMsgSteamDatagramP2PRoutes as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramP2PRoutes {
pub fn new() -> CMsgSteamDatagramP2PRoutes {
::std::default::Default::default()
}
pub fn get_relay_clusters(&self) -> &[CMsgSteamDatagramP2PRoutes_RelayCluster] {
&self.relay_clusters
}
pub fn clear_relay_clusters(&mut self) {
self.relay_clusters.clear();
}
pub fn set_relay_clusters(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramP2PRoutes_RelayCluster>) {
self.relay_clusters = v;
}
pub fn mut_relay_clusters(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramP2PRoutes_RelayCluster> {
&mut self.relay_clusters
}
pub fn take_relay_clusters(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramP2PRoutes_RelayCluster> {
::std::mem::replace(&mut self.relay_clusters, ::protobuf::RepeatedField::new())
}
pub fn get_routes(&self) -> &[CMsgSteamDatagramP2PRoutes_Route] {
&self.routes
}
pub fn clear_routes(&mut self) {
self.routes.clear();
}
pub fn set_routes(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramP2PRoutes_Route>) {
self.routes = v;
}
pub fn mut_routes(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramP2PRoutes_Route> {
&mut self.routes
}
pub fn take_routes(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramP2PRoutes_Route> {
::std::mem::replace(&mut self.routes, ::protobuf::RepeatedField::new())
}
pub fn get_revision(&self) -> u32 {
self.revision.unwrap_or(0)
}
pub fn clear_revision(&mut self) {
self.revision = ::std::option::Option::None;
}
pub fn has_revision(&self) -> bool {
self.revision.is_some()
}
pub fn set_revision(&mut self, v: u32) {
self.revision = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramP2PRoutes {
fn is_initialized(&self) -> bool {
for v in &self.relay_clusters {
if !v.is_initialized() {
return false;
}
};
for v in &self.routes {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.relay_clusters)?;
},
2 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.routes)?;
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.revision = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
for value in &self.relay_clusters {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.routes {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if let Some(v) = self.revision {
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<()> {
for v in &self.relay_clusters {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.routes {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
if let Some(v) = self.revision {
os.write_uint32(3, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramP2PRoutes {
CMsgSteamDatagramP2PRoutes::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramP2PRoutes_RelayCluster>>(
"relay_clusters",
|m: &CMsgSteamDatagramP2PRoutes| { &m.relay_clusters },
|m: &mut CMsgSteamDatagramP2PRoutes| { &mut m.relay_clusters },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramP2PRoutes_Route>>(
"routes",
|m: &CMsgSteamDatagramP2PRoutes| { &m.routes },
|m: &mut CMsgSteamDatagramP2PRoutes| { &mut m.routes },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"revision",
|m: &CMsgSteamDatagramP2PRoutes| { &m.revision },
|m: &mut CMsgSteamDatagramP2PRoutes| { &mut m.revision },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramP2PRoutes>(
"CMsgSteamDatagramP2PRoutes",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramP2PRoutes {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramP2PRoutes> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramP2PRoutes::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramP2PRoutes {
fn clear(&mut self) {
self.relay_clusters.clear();
self.routes.clear();
self.revision = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramP2PRoutes {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramP2PRoutes {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramP2PRoutes_RelayCluster {
pop_id: ::std::option::Option<u32>,
ping_ms: ::std::option::Option<u32>,
score_penalty: ::std::option::Option<u32>,
session_relay_routing_token: ::protobuf::SingularField<::std::vec::Vec<u8>>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramP2PRoutes_RelayCluster {
fn default() -> &'a CMsgSteamDatagramP2PRoutes_RelayCluster {
<CMsgSteamDatagramP2PRoutes_RelayCluster as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramP2PRoutes_RelayCluster {
pub fn new() -> CMsgSteamDatagramP2PRoutes_RelayCluster {
::std::default::Default::default()
}
pub fn get_pop_id(&self) -> u32 {
self.pop_id.unwrap_or(0)
}
pub fn clear_pop_id(&mut self) {
self.pop_id = ::std::option::Option::None;
}
pub fn has_pop_id(&self) -> bool {
self.pop_id.is_some()
}
pub fn set_pop_id(&mut self, v: u32) {
self.pop_id = ::std::option::Option::Some(v);
}
pub fn get_ping_ms(&self) -> u32 {
self.ping_ms.unwrap_or(0)
}
pub fn clear_ping_ms(&mut self) {
self.ping_ms = ::std::option::Option::None;
}
pub fn has_ping_ms(&self) -> bool {
self.ping_ms.is_some()
}
pub fn set_ping_ms(&mut self, v: u32) {
self.ping_ms = ::std::option::Option::Some(v);
}
pub fn get_score_penalty(&self) -> u32 {
self.score_penalty.unwrap_or(0)
}
pub fn clear_score_penalty(&mut self) {
self.score_penalty = ::std::option::Option::None;
}
pub fn has_score_penalty(&self) -> bool {
self.score_penalty.is_some()
}
pub fn set_score_penalty(&mut self, v: u32) {
self.score_penalty = ::std::option::Option::Some(v);
}
pub fn get_session_relay_routing_token(&self) -> &[u8] {
match self.session_relay_routing_token.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_session_relay_routing_token(&mut self) {
self.session_relay_routing_token.clear();
}
pub fn has_session_relay_routing_token(&self) -> bool {
self.session_relay_routing_token.is_some()
}
pub fn set_session_relay_routing_token(&mut self, v: ::std::vec::Vec<u8>) {
self.session_relay_routing_token = ::protobuf::SingularField::some(v);
}
pub fn mut_session_relay_routing_token(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.session_relay_routing_token.is_none() {
self.session_relay_routing_token.set_default();
}
self.session_relay_routing_token.as_mut().unwrap()
}
pub fn take_session_relay_routing_token(&mut self) -> ::std::vec::Vec<u8> {
self.session_relay_routing_token.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramP2PRoutes_RelayCluster {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.pop_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.ping_ms = ::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_uint32()?;
self.score_penalty = ::std::option::Option::Some(tmp);
},
4 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.session_relay_routing_token)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.pop_id {
my_size += 5;
}
if let Some(v) = self.ping_ms {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.score_penalty {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.session_relay_routing_token.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(v) = self.pop_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.ping_ms {
os.write_uint32(2, v)?;
}
if let Some(v) = self.score_penalty {
os.write_uint32(3, v)?;
}
if let Some(ref v) = self.session_relay_routing_token.as_ref() {
os.write_bytes(4, &v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramP2PRoutes_RelayCluster {
CMsgSteamDatagramP2PRoutes_RelayCluster::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"pop_id",
|m: &CMsgSteamDatagramP2PRoutes_RelayCluster| { &m.pop_id },
|m: &mut CMsgSteamDatagramP2PRoutes_RelayCluster| { &mut m.pop_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"ping_ms",
|m: &CMsgSteamDatagramP2PRoutes_RelayCluster| { &m.ping_ms },
|m: &mut CMsgSteamDatagramP2PRoutes_RelayCluster| { &mut m.ping_ms },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"score_penalty",
|m: &CMsgSteamDatagramP2PRoutes_RelayCluster| { &m.score_penalty },
|m: &mut CMsgSteamDatagramP2PRoutes_RelayCluster| { &mut m.score_penalty },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"session_relay_routing_token",
|m: &CMsgSteamDatagramP2PRoutes_RelayCluster| { &m.session_relay_routing_token },
|m: &mut CMsgSteamDatagramP2PRoutes_RelayCluster| { &mut m.session_relay_routing_token },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramP2PRoutes_RelayCluster>(
"CMsgSteamDatagramP2PRoutes.RelayCluster",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramP2PRoutes_RelayCluster {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramP2PRoutes_RelayCluster> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramP2PRoutes_RelayCluster::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramP2PRoutes_RelayCluster {
fn clear(&mut self) {
self.pop_id = ::std::option::Option::None;
self.ping_ms = ::std::option::Option::None;
self.score_penalty = ::std::option::Option::None;
self.session_relay_routing_token.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramP2PRoutes_RelayCluster {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramP2PRoutes_RelayCluster {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramP2PRoutes_Route {
my_pop_id: ::std::option::Option<u32>,
your_pop_id: ::std::option::Option<u32>,
score: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramP2PRoutes_Route {
fn default() -> &'a CMsgSteamDatagramP2PRoutes_Route {
<CMsgSteamDatagramP2PRoutes_Route as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramP2PRoutes_Route {
pub fn new() -> CMsgSteamDatagramP2PRoutes_Route {
::std::default::Default::default()
}
pub fn get_my_pop_id(&self) -> u32 {
self.my_pop_id.unwrap_or(0)
}
pub fn clear_my_pop_id(&mut self) {
self.my_pop_id = ::std::option::Option::None;
}
pub fn has_my_pop_id(&self) -> bool {
self.my_pop_id.is_some()
}
pub fn set_my_pop_id(&mut self, v: u32) {
self.my_pop_id = ::std::option::Option::Some(v);
}
pub fn get_your_pop_id(&self) -> u32 {
self.your_pop_id.unwrap_or(0)
}
pub fn clear_your_pop_id(&mut self) {
self.your_pop_id = ::std::option::Option::None;
}
pub fn has_your_pop_id(&self) -> bool {
self.your_pop_id.is_some()
}
pub fn set_your_pop_id(&mut self, v: u32) {
self.your_pop_id = ::std::option::Option::Some(v);
}
pub fn get_score(&self) -> u32 {
self.score.unwrap_or(0)
}
pub fn clear_score(&mut self) {
self.score = ::std::option::Option::None;
}
pub fn has_score(&self) -> bool {
self.score.is_some()
}
pub fn set_score(&mut self, v: u32) {
self.score = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramP2PRoutes_Route {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.my_pop_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.your_pop_id = ::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_uint32()?;
self.score = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.my_pop_id {
my_size += 5;
}
if let Some(v) = self.your_pop_id {
my_size += 5;
}
if let Some(v) = self.score {
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.my_pop_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.your_pop_id {
os.write_fixed32(2, v)?;
}
if let Some(v) = self.score {
os.write_uint32(3, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramP2PRoutes_Route {
CMsgSteamDatagramP2PRoutes_Route::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"my_pop_id",
|m: &CMsgSteamDatagramP2PRoutes_Route| { &m.my_pop_id },
|m: &mut CMsgSteamDatagramP2PRoutes_Route| { &mut m.my_pop_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"your_pop_id",
|m: &CMsgSteamDatagramP2PRoutes_Route| { &m.your_pop_id },
|m: &mut CMsgSteamDatagramP2PRoutes_Route| { &mut m.your_pop_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"score",
|m: &CMsgSteamDatagramP2PRoutes_Route| { &m.score },
|m: &mut CMsgSteamDatagramP2PRoutes_Route| { &mut m.score },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramP2PRoutes_Route>(
"CMsgSteamDatagramP2PRoutes.Route",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramP2PRoutes_Route {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramP2PRoutes_Route> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramP2PRoutes_Route::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramP2PRoutes_Route {
fn clear(&mut self) {
self.my_pop_id = ::std::option::Option::None;
self.your_pop_id = ::std::option::Option::None;
self.score = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramP2PRoutes_Route {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramP2PRoutes_Route {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramGameServerSample {
ipv4: ::std::option::Option<u32>,
port: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramGameServerSample {
fn default() -> &'a CMsgSteamDatagramGameServerSample {
<CMsgSteamDatagramGameServerSample as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramGameServerSample {
pub fn new() -> CMsgSteamDatagramGameServerSample {
::std::default::Default::default()
}
pub fn get_ipv4(&self) -> u32 {
self.ipv4.unwrap_or(0)
}
pub fn clear_ipv4(&mut self) {
self.ipv4 = ::std::option::Option::None;
}
pub fn has_ipv4(&self) -> bool {
self.ipv4.is_some()
}
pub fn set_ipv4(&mut self, v: u32) {
self.ipv4 = ::std::option::Option::Some(v);
}
pub fn get_port(&self) -> u32 {
self.port.unwrap_or(0)
}
pub fn clear_port(&mut self) {
self.port = ::std::option::Option::None;
}
pub fn has_port(&self) -> bool {
self.port.is_some()
}
pub fn set_port(&mut self, v: u32) {
self.port = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramGameServerSample {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.ipv4 = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.port = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.ipv4 {
my_size += 5;
}
if let Some(v) = self.port {
my_size += ::protobuf::rt::value_size(2, 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.ipv4 {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.port {
os.write_uint32(2, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramGameServerSample {
CMsgSteamDatagramGameServerSample::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"ipv4",
|m: &CMsgSteamDatagramGameServerSample| { &m.ipv4 },
|m: &mut CMsgSteamDatagramGameServerSample| { &mut m.ipv4 },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"port",
|m: &CMsgSteamDatagramGameServerSample| { &m.port },
|m: &mut CMsgSteamDatagramGameServerSample| { &mut m.port },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramGameServerSample>(
"CMsgSteamDatagramGameServerSample",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramGameServerSample {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramGameServerSample> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramGameServerSample::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramGameServerSample {
fn clear(&mut self) {
self.ipv4 = ::std::option::Option::None;
self.port = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramGameServerSample {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramGameServerSample {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramGameServerSampleDataCenter {
datacenter_id: ::std::option::Option<u32>,
pub servers: ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSample>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramGameServerSampleDataCenter {
fn default() -> &'a CMsgSteamDatagramGameServerSampleDataCenter {
<CMsgSteamDatagramGameServerSampleDataCenter as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramGameServerSampleDataCenter {
pub fn new() -> CMsgSteamDatagramGameServerSampleDataCenter {
::std::default::Default::default()
}
pub fn get_datacenter_id(&self) -> u32 {
self.datacenter_id.unwrap_or(0)
}
pub fn clear_datacenter_id(&mut self) {
self.datacenter_id = ::std::option::Option::None;
}
pub fn has_datacenter_id(&self) -> bool {
self.datacenter_id.is_some()
}
pub fn set_datacenter_id(&mut self, v: u32) {
self.datacenter_id = ::std::option::Option::Some(v);
}
pub fn get_servers(&self) -> &[CMsgSteamDatagramGameServerSample] {
&self.servers
}
pub fn clear_servers(&mut self) {
self.servers.clear();
}
pub fn set_servers(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSample>) {
self.servers = v;
}
pub fn mut_servers(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSample> {
&mut self.servers
}
pub fn take_servers(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSample> {
::std::mem::replace(&mut self.servers, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramGameServerSampleDataCenter {
fn is_initialized(&self) -> bool {
for v in &self.servers {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.datacenter_id = ::std::option::Option::Some(tmp);
},
3 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.servers)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.datacenter_id {
my_size += 5;
}
for value in &self.servers {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
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.datacenter_id {
os.write_fixed32(1, v)?;
}
for v in &self.servers {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramGameServerSampleDataCenter {
CMsgSteamDatagramGameServerSampleDataCenter::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"datacenter_id",
|m: &CMsgSteamDatagramGameServerSampleDataCenter| { &m.datacenter_id },
|m: &mut CMsgSteamDatagramGameServerSampleDataCenter| { &mut m.datacenter_id },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramGameServerSample>>(
"servers",
|m: &CMsgSteamDatagramGameServerSampleDataCenter| { &m.servers },
|m: &mut CMsgSteamDatagramGameServerSampleDataCenter| { &mut m.servers },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramGameServerSampleDataCenter>(
"CMsgSteamDatagramGameServerSampleDataCenter",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramGameServerSampleDataCenter {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramGameServerSampleDataCenter> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramGameServerSampleDataCenter::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramGameServerSampleDataCenter {
fn clear(&mut self) {
self.datacenter_id = ::std::option::Option::None;
self.servers.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramGameServerSampleDataCenter {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramGameServerSampleDataCenter {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramRelayToRelayPing {
request_timestamp: ::std::option::Option<u32>,
request_date: ::std::option::Option<u32>,
my_pop_id: ::std::option::Option<u32>,
your_pop_id: ::std::option::Option<u32>,
checksum: ::std::option::Option<u32>,
pub data_centers: ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSampleDataCenter>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramRelayToRelayPing {
fn default() -> &'a CMsgSteamDatagramRelayToRelayPing {
<CMsgSteamDatagramRelayToRelayPing as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramRelayToRelayPing {
pub fn new() -> CMsgSteamDatagramRelayToRelayPing {
::std::default::Default::default()
}
pub fn get_request_timestamp(&self) -> u32 {
self.request_timestamp.unwrap_or(0)
}
pub fn clear_request_timestamp(&mut self) {
self.request_timestamp = ::std::option::Option::None;
}
pub fn has_request_timestamp(&self) -> bool {
self.request_timestamp.is_some()
}
pub fn set_request_timestamp(&mut self, v: u32) {
self.request_timestamp = ::std::option::Option::Some(v);
}
pub fn get_request_date(&self) -> u32 {
self.request_date.unwrap_or(0)
}
pub fn clear_request_date(&mut self) {
self.request_date = ::std::option::Option::None;
}
pub fn has_request_date(&self) -> bool {
self.request_date.is_some()
}
pub fn set_request_date(&mut self, v: u32) {
self.request_date = ::std::option::Option::Some(v);
}
pub fn get_my_pop_id(&self) -> u32 {
self.my_pop_id.unwrap_or(0)
}
pub fn clear_my_pop_id(&mut self) {
self.my_pop_id = ::std::option::Option::None;
}
pub fn has_my_pop_id(&self) -> bool {
self.my_pop_id.is_some()
}
pub fn set_my_pop_id(&mut self, v: u32) {
self.my_pop_id = ::std::option::Option::Some(v);
}
pub fn get_your_pop_id(&self) -> u32 {
self.your_pop_id.unwrap_or(0)
}
pub fn clear_your_pop_id(&mut self) {
self.your_pop_id = ::std::option::Option::None;
}
pub fn has_your_pop_id(&self) -> bool {
self.your_pop_id.is_some()
}
pub fn set_your_pop_id(&mut self, v: u32) {
self.your_pop_id = ::std::option::Option::Some(v);
}
pub fn get_checksum(&self) -> u32 {
self.checksum.unwrap_or(0)
}
pub fn clear_checksum(&mut self) {
self.checksum = ::std::option::Option::None;
}
pub fn has_checksum(&self) -> bool {
self.checksum.is_some()
}
pub fn set_checksum(&mut self, v: u32) {
self.checksum = ::std::option::Option::Some(v);
}
pub fn get_data_centers(&self) -> &[CMsgSteamDatagramGameServerSampleDataCenter] {
&self.data_centers
}
pub fn clear_data_centers(&mut self) {
self.data_centers.clear();
}
pub fn set_data_centers(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSampleDataCenter>) {
self.data_centers = v;
}
pub fn mut_data_centers(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSampleDataCenter> {
&mut self.data_centers
}
pub fn take_data_centers(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSampleDataCenter> {
::std::mem::replace(&mut self.data_centers, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramRelayToRelayPing {
fn is_initialized(&self) -> bool {
for v in &self.data_centers {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.request_timestamp = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.request_date = ::std::option::Option::Some(tmp);
},
3 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.my_pop_id = ::std::option::Option::Some(tmp);
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.your_pop_id = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.checksum = ::std::option::Option::Some(tmp);
},
6 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.data_centers)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.request_timestamp {
my_size += 5;
}
if let Some(v) = self.request_date {
my_size += 5;
}
if let Some(v) = self.my_pop_id {
my_size += 5;
}
if let Some(v) = self.your_pop_id {
my_size += 5;
}
if let Some(v) = self.checksum {
my_size += 5;
}
for value in &self.data_centers {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
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.request_timestamp {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.request_date {
os.write_fixed32(2, v)?;
}
if let Some(v) = self.my_pop_id {
os.write_fixed32(3, v)?;
}
if let Some(v) = self.your_pop_id {
os.write_fixed32(4, v)?;
}
if let Some(v) = self.checksum {
os.write_fixed32(5, v)?;
}
for v in &self.data_centers {
os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramRelayToRelayPing {
CMsgSteamDatagramRelayToRelayPing::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"request_timestamp",
|m: &CMsgSteamDatagramRelayToRelayPing| { &m.request_timestamp },
|m: &mut CMsgSteamDatagramRelayToRelayPing| { &mut m.request_timestamp },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"request_date",
|m: &CMsgSteamDatagramRelayToRelayPing| { &m.request_date },
|m: &mut CMsgSteamDatagramRelayToRelayPing| { &mut m.request_date },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"my_pop_id",
|m: &CMsgSteamDatagramRelayToRelayPing| { &m.my_pop_id },
|m: &mut CMsgSteamDatagramRelayToRelayPing| { &mut m.my_pop_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"your_pop_id",
|m: &CMsgSteamDatagramRelayToRelayPing| { &m.your_pop_id },
|m: &mut CMsgSteamDatagramRelayToRelayPing| { &mut m.your_pop_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"checksum",
|m: &CMsgSteamDatagramRelayToRelayPing| { &m.checksum },
|m: &mut CMsgSteamDatagramRelayToRelayPing| { &mut m.checksum },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramGameServerSampleDataCenter>>(
"data_centers",
|m: &CMsgSteamDatagramRelayToRelayPing| { &m.data_centers },
|m: &mut CMsgSteamDatagramRelayToRelayPing| { &mut m.data_centers },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramRelayToRelayPing>(
"CMsgSteamDatagramRelayToRelayPing",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramRelayToRelayPing {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramRelayToRelayPing> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramRelayToRelayPing::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramRelayToRelayPing {
fn clear(&mut self) {
self.request_timestamp = ::std::option::Option::None;
self.request_date = ::std::option::Option::None;
self.my_pop_id = ::std::option::Option::None;
self.your_pop_id = ::std::option::Option::None;
self.checksum = ::std::option::Option::None;
self.data_centers.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramRelayToRelayPing {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramRelayToRelayPing {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramDataCenterState {
pub data_centers: ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_DataCenter>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramDataCenterState {
fn default() -> &'a CMsgSteamDatagramDataCenterState {
<CMsgSteamDatagramDataCenterState as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramDataCenterState {
pub fn new() -> CMsgSteamDatagramDataCenterState {
::std::default::Default::default()
}
pub fn get_data_centers(&self) -> &[CMsgSteamDatagramDataCenterState_DataCenter] {
&self.data_centers
}
pub fn clear_data_centers(&mut self) {
self.data_centers.clear();
}
pub fn set_data_centers(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_DataCenter>) {
self.data_centers = v;
}
pub fn mut_data_centers(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_DataCenter> {
&mut self.data_centers
}
pub fn take_data_centers(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_DataCenter> {
::std::mem::replace(&mut self.data_centers, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramDataCenterState {
fn is_initialized(&self) -> bool {
for v in &self.data_centers {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.data_centers)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
for value in &self.data_centers {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
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<()> {
for v in &self.data_centers {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramDataCenterState {
CMsgSteamDatagramDataCenterState::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramDataCenterState_DataCenter>>(
"data_centers",
|m: &CMsgSteamDatagramDataCenterState| { &m.data_centers },
|m: &mut CMsgSteamDatagramDataCenterState| { &mut m.data_centers },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramDataCenterState>(
"CMsgSteamDatagramDataCenterState",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramDataCenterState {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramDataCenterState> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramDataCenterState::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramDataCenterState {
fn clear(&mut self) {
self.data_centers.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramDataCenterState {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramDataCenterState {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramDataCenterState_Server {
address: ::protobuf::SingularField<::std::string::String>,
ping_ms: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramDataCenterState_Server {
fn default() -> &'a CMsgSteamDatagramDataCenterState_Server {
<CMsgSteamDatagramDataCenterState_Server as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramDataCenterState_Server {
pub fn new() -> CMsgSteamDatagramDataCenterState_Server {
::std::default::Default::default()
}
pub fn get_address(&self) -> &str {
match self.address.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_address(&mut self) {
self.address.clear();
}
pub fn has_address(&self) -> bool {
self.address.is_some()
}
pub fn set_address(&mut self, v: ::std::string::String) {
self.address = ::protobuf::SingularField::some(v);
}
pub fn mut_address(&mut self) -> &mut ::std::string::String {
if self.address.is_none() {
self.address.set_default();
}
self.address.as_mut().unwrap()
}
pub fn take_address(&mut self) -> ::std::string::String {
self.address.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_ping_ms(&self) -> u32 {
self.ping_ms.unwrap_or(0)
}
pub fn clear_ping_ms(&mut self) {
self.ping_ms = ::std::option::Option::None;
}
pub fn has_ping_ms(&self) -> bool {
self.ping_ms.is_some()
}
pub fn set_ping_ms(&mut self, v: u32) {
self.ping_ms = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramDataCenterState_Server {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.address)?;
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.ping_ms = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.address.as_ref() {
my_size += ::protobuf::rt::string_size(1, &v);
}
if let Some(v) = self.ping_ms {
my_size += ::protobuf::rt::value_size(2, 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.address.as_ref() {
os.write_string(1, &v)?;
}
if let Some(v) = self.ping_ms {
os.write_uint32(2, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramDataCenterState_Server {
CMsgSteamDatagramDataCenterState_Server::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"address",
|m: &CMsgSteamDatagramDataCenterState_Server| { &m.address },
|m: &mut CMsgSteamDatagramDataCenterState_Server| { &mut m.address },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"ping_ms",
|m: &CMsgSteamDatagramDataCenterState_Server| { &m.ping_ms },
|m: &mut CMsgSteamDatagramDataCenterState_Server| { &mut m.ping_ms },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramDataCenterState_Server>(
"CMsgSteamDatagramDataCenterState.Server",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramDataCenterState_Server {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramDataCenterState_Server> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramDataCenterState_Server::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramDataCenterState_Server {
fn clear(&mut self) {
self.address.clear();
self.ping_ms = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramDataCenterState_Server {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramDataCenterState_Server {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramDataCenterState_DataCenter {
code: ::protobuf::SingularField<::std::string::String>,
pub server_sample: ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_Server>,
pub relay_sample: ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_Server>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramDataCenterState_DataCenter {
fn default() -> &'a CMsgSteamDatagramDataCenterState_DataCenter {
<CMsgSteamDatagramDataCenterState_DataCenter as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramDataCenterState_DataCenter {
pub fn new() -> CMsgSteamDatagramDataCenterState_DataCenter {
::std::default::Default::default()
}
pub fn get_code(&self) -> &str {
match self.code.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_code(&mut self) {
self.code.clear();
}
pub fn has_code(&self) -> bool {
self.code.is_some()
}
pub fn set_code(&mut self, v: ::std::string::String) {
self.code = ::protobuf::SingularField::some(v);
}
pub fn mut_code(&mut self) -> &mut ::std::string::String {
if self.code.is_none() {
self.code.set_default();
}
self.code.as_mut().unwrap()
}
pub fn take_code(&mut self) -> ::std::string::String {
self.code.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_server_sample(&self) -> &[CMsgSteamDatagramDataCenterState_Server] {
&self.server_sample
}
pub fn clear_server_sample(&mut self) {
self.server_sample.clear();
}
pub fn set_server_sample(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_Server>) {
self.server_sample = v;
}
pub fn mut_server_sample(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_Server> {
&mut self.server_sample
}
pub fn take_server_sample(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_Server> {
::std::mem::replace(&mut self.server_sample, ::protobuf::RepeatedField::new())
}
pub fn get_relay_sample(&self) -> &[CMsgSteamDatagramDataCenterState_Server] {
&self.relay_sample
}
pub fn clear_relay_sample(&mut self) {
self.relay_sample.clear();
}
pub fn set_relay_sample(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_Server>) {
self.relay_sample = v;
}
pub fn mut_relay_sample(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_Server> {
&mut self.relay_sample
}
pub fn take_relay_sample(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramDataCenterState_Server> {
::std::mem::replace(&mut self.relay_sample, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramDataCenterState_DataCenter {
fn is_initialized(&self) -> bool {
for v in &self.server_sample {
if !v.is_initialized() {
return false;
}
};
for v in &self.relay_sample {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.code)?;
},
2 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.server_sample)?;
},
3 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.relay_sample)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.code.as_ref() {
my_size += ::protobuf::rt::string_size(1, &v);
}
for value in &self.server_sample {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
for value in &self.relay_sample {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
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.code.as_ref() {
os.write_string(1, &v)?;
}
for v in &self.server_sample {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
for v in &self.relay_sample {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramDataCenterState_DataCenter {
CMsgSteamDatagramDataCenterState_DataCenter::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"code",
|m: &CMsgSteamDatagramDataCenterState_DataCenter| { &m.code },
|m: &mut CMsgSteamDatagramDataCenterState_DataCenter| { &mut m.code },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramDataCenterState_Server>>(
"server_sample",
|m: &CMsgSteamDatagramDataCenterState_DataCenter| { &m.server_sample },
|m: &mut CMsgSteamDatagramDataCenterState_DataCenter| { &mut m.server_sample },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramDataCenterState_Server>>(
"relay_sample",
|m: &CMsgSteamDatagramDataCenterState_DataCenter| { &m.relay_sample },
|m: &mut CMsgSteamDatagramDataCenterState_DataCenter| { &mut m.relay_sample },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramDataCenterState_DataCenter>(
"CMsgSteamDatagramDataCenterState.DataCenter",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramDataCenterState_DataCenter {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramDataCenterState_DataCenter> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramDataCenterState_DataCenter::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramDataCenterState_DataCenter {
fn clear(&mut self) {
self.code.clear();
self.server_sample.clear();
self.relay_sample.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramDataCenterState_DataCenter {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramDataCenterState_DataCenter {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramRouterHealth {
cpu_load: ::std::option::Option<f32>,
cpu_load_raw: ::std::option::Option<f32>,
active_sessions: ::std::option::Option<u32>,
data_pkts_sec: ::std::option::Option<u32>,
other_pkts_sec: ::std::option::Option<u32>,
seconds_until_shutdown: ::std::option::Option<u32>,
cpu_cost_per_user: ::std::option::Option<f32>,
cpu_cost_per_packet: ::std::option::Option<f32>,
pub data_centers: ::protobuf::RepeatedField<CMsgSteamDatagramRouterHealth_DataCenter>,
magic: ::std::option::Option<u64>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramRouterHealth {
fn default() -> &'a CMsgSteamDatagramRouterHealth {
<CMsgSteamDatagramRouterHealth as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramRouterHealth {
pub fn new() -> CMsgSteamDatagramRouterHealth {
::std::default::Default::default()
}
pub fn get_cpu_load(&self) -> f32 {
self.cpu_load.unwrap_or(0.)
}
pub fn clear_cpu_load(&mut self) {
self.cpu_load = ::std::option::Option::None;
}
pub fn has_cpu_load(&self) -> bool {
self.cpu_load.is_some()
}
pub fn set_cpu_load(&mut self, v: f32) {
self.cpu_load = ::std::option::Option::Some(v);
}
pub fn get_cpu_load_raw(&self) -> f32 {
self.cpu_load_raw.unwrap_or(0.)
}
pub fn clear_cpu_load_raw(&mut self) {
self.cpu_load_raw = ::std::option::Option::None;
}
pub fn has_cpu_load_raw(&self) -> bool {
self.cpu_load_raw.is_some()
}
pub fn set_cpu_load_raw(&mut self, v: f32) {
self.cpu_load_raw = ::std::option::Option::Some(v);
}
pub fn get_active_sessions(&self) -> u32 {
self.active_sessions.unwrap_or(0)
}
pub fn clear_active_sessions(&mut self) {
self.active_sessions = ::std::option::Option::None;
}
pub fn has_active_sessions(&self) -> bool {
self.active_sessions.is_some()
}
pub fn set_active_sessions(&mut self, v: u32) {
self.active_sessions = ::std::option::Option::Some(v);
}
pub fn get_data_pkts_sec(&self) -> u32 {
self.data_pkts_sec.unwrap_or(0)
}
pub fn clear_data_pkts_sec(&mut self) {
self.data_pkts_sec = ::std::option::Option::None;
}
pub fn has_data_pkts_sec(&self) -> bool {
self.data_pkts_sec.is_some()
}
pub fn set_data_pkts_sec(&mut self, v: u32) {
self.data_pkts_sec = ::std::option::Option::Some(v);
}
pub fn get_other_pkts_sec(&self) -> u32 {
self.other_pkts_sec.unwrap_or(0)
}
pub fn clear_other_pkts_sec(&mut self) {
self.other_pkts_sec = ::std::option::Option::None;
}
pub fn has_other_pkts_sec(&self) -> bool {
self.other_pkts_sec.is_some()
}
pub fn set_other_pkts_sec(&mut self, v: u32) {
self.other_pkts_sec = ::std::option::Option::Some(v);
}
pub fn get_seconds_until_shutdown(&self) -> u32 {
self.seconds_until_shutdown.unwrap_or(0)
}
pub fn clear_seconds_until_shutdown(&mut self) {
self.seconds_until_shutdown = ::std::option::Option::None;
}
pub fn has_seconds_until_shutdown(&self) -> bool {
self.seconds_until_shutdown.is_some()
}
pub fn set_seconds_until_shutdown(&mut self, v: u32) {
self.seconds_until_shutdown = ::std::option::Option::Some(v);
}
pub fn get_cpu_cost_per_user(&self) -> f32 {
self.cpu_cost_per_user.unwrap_or(0.)
}
pub fn clear_cpu_cost_per_user(&mut self) {
self.cpu_cost_per_user = ::std::option::Option::None;
}
pub fn has_cpu_cost_per_user(&self) -> bool {
self.cpu_cost_per_user.is_some()
}
pub fn set_cpu_cost_per_user(&mut self, v: f32) {
self.cpu_cost_per_user = ::std::option::Option::Some(v);
}
pub fn get_cpu_cost_per_packet(&self) -> f32 {
self.cpu_cost_per_packet.unwrap_or(0.)
}
pub fn clear_cpu_cost_per_packet(&mut self) {
self.cpu_cost_per_packet = ::std::option::Option::None;
}
pub fn has_cpu_cost_per_packet(&self) -> bool {
self.cpu_cost_per_packet.is_some()
}
pub fn set_cpu_cost_per_packet(&mut self, v: f32) {
self.cpu_cost_per_packet = ::std::option::Option::Some(v);
}
pub fn get_data_centers(&self) -> &[CMsgSteamDatagramRouterHealth_DataCenter] {
&self.data_centers
}
pub fn clear_data_centers(&mut self) {
self.data_centers.clear();
}
pub fn set_data_centers(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramRouterHealth_DataCenter>) {
self.data_centers = v;
}
pub fn mut_data_centers(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramRouterHealth_DataCenter> {
&mut self.data_centers
}
pub fn take_data_centers(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramRouterHealth_DataCenter> {
::std::mem::replace(&mut self.data_centers, ::protobuf::RepeatedField::new())
}
pub fn get_magic(&self) -> u64 {
self.magic.unwrap_or(0)
}
pub fn clear_magic(&mut self) {
self.magic = ::std::option::Option::None;
}
pub fn has_magic(&self) -> bool {
self.magic.is_some()
}
pub fn set_magic(&mut self, v: u64) {
self.magic = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramRouterHealth {
fn is_initialized(&self) -> bool {
for v in &self.data_centers {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_float()?;
self.cpu_load = ::std::option::Option::Some(tmp);
},
10 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_float()?;
self.cpu_load_raw = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.active_sessions = ::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_uint32()?;
self.data_pkts_sec = ::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_uint32()?;
self.other_pkts_sec = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seconds_until_shutdown = ::std::option::Option::Some(tmp);
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_float()?;
self.cpu_cost_per_user = ::std::option::Option::Some(tmp);
},
9 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_float()?;
self.cpu_cost_per_packet = ::std::option::Option::Some(tmp);
},
6 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.data_centers)?;
},
7 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed64()?;
self.magic = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.cpu_load {
my_size += 5;
}
if let Some(v) = self.cpu_load_raw {
my_size += 5;
}
if let Some(v) = self.active_sessions {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.data_pkts_sec {
my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.other_pkts_sec {
my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seconds_until_shutdown {
my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.cpu_cost_per_user {
my_size += 5;
}
if let Some(v) = self.cpu_cost_per_packet {
my_size += 5;
}
for value in &self.data_centers {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
if let Some(v) = self.magic {
my_size += 9;
}
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.cpu_load {
os.write_float(1, v)?;
}
if let Some(v) = self.cpu_load_raw {
os.write_float(10, v)?;
}
if let Some(v) = self.active_sessions {
os.write_uint32(2, v)?;
}
if let Some(v) = self.data_pkts_sec {
os.write_uint32(3, v)?;
}
if let Some(v) = self.other_pkts_sec {
os.write_uint32(4, v)?;
}
if let Some(v) = self.seconds_until_shutdown {
os.write_uint32(5, v)?;
}
if let Some(v) = self.cpu_cost_per_user {
os.write_float(8, v)?;
}
if let Some(v) = self.cpu_cost_per_packet {
os.write_float(9, v)?;
}
for v in &self.data_centers {
os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
if let Some(v) = self.magic {
os.write_fixed64(7, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramRouterHealth {
CMsgSteamDatagramRouterHealth::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
"cpu_load",
|m: &CMsgSteamDatagramRouterHealth| { &m.cpu_load },
|m: &mut CMsgSteamDatagramRouterHealth| { &mut m.cpu_load },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
"cpu_load_raw",
|m: &CMsgSteamDatagramRouterHealth| { &m.cpu_load_raw },
|m: &mut CMsgSteamDatagramRouterHealth| { &mut m.cpu_load_raw },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"active_sessions",
|m: &CMsgSteamDatagramRouterHealth| { &m.active_sessions },
|m: &mut CMsgSteamDatagramRouterHealth| { &mut m.active_sessions },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"data_pkts_sec",
|m: &CMsgSteamDatagramRouterHealth| { &m.data_pkts_sec },
|m: &mut CMsgSteamDatagramRouterHealth| { &mut m.data_pkts_sec },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"other_pkts_sec",
|m: &CMsgSteamDatagramRouterHealth| { &m.other_pkts_sec },
|m: &mut CMsgSteamDatagramRouterHealth| { &mut m.other_pkts_sec },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seconds_until_shutdown",
|m: &CMsgSteamDatagramRouterHealth| { &m.seconds_until_shutdown },
|m: &mut CMsgSteamDatagramRouterHealth| { &mut m.seconds_until_shutdown },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
"cpu_cost_per_user",
|m: &CMsgSteamDatagramRouterHealth| { &m.cpu_cost_per_user },
|m: &mut CMsgSteamDatagramRouterHealth| { &mut m.cpu_cost_per_user },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
"cpu_cost_per_packet",
|m: &CMsgSteamDatagramRouterHealth| { &m.cpu_cost_per_packet },
|m: &mut CMsgSteamDatagramRouterHealth| { &mut m.cpu_cost_per_packet },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramRouterHealth_DataCenter>>(
"data_centers",
|m: &CMsgSteamDatagramRouterHealth| { &m.data_centers },
|m: &mut CMsgSteamDatagramRouterHealth| { &mut m.data_centers },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed64>(
"magic",
|m: &CMsgSteamDatagramRouterHealth| { &m.magic },
|m: &mut CMsgSteamDatagramRouterHealth| { &mut m.magic },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramRouterHealth>(
"CMsgSteamDatagramRouterHealth",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramRouterHealth {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramRouterHealth> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramRouterHealth::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramRouterHealth {
fn clear(&mut self) {
self.cpu_load = ::std::option::Option::None;
self.cpu_load_raw = ::std::option::Option::None;
self.active_sessions = ::std::option::Option::None;
self.data_pkts_sec = ::std::option::Option::None;
self.other_pkts_sec = ::std::option::Option::None;
self.seconds_until_shutdown = ::std::option::Option::None;
self.cpu_cost_per_user = ::std::option::Option::None;
self.cpu_cost_per_packet = ::std::option::Option::None;
self.data_centers.clear();
self.magic = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramRouterHealth {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramRouterHealth {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramRouterHealth_DataCenter {
datacenter_id: ::std::option::Option<u32>,
state: ::std::option::Option<u32>,
pub servers: ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSample>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramRouterHealth_DataCenter {
fn default() -> &'a CMsgSteamDatagramRouterHealth_DataCenter {
<CMsgSteamDatagramRouterHealth_DataCenter as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramRouterHealth_DataCenter {
pub fn new() -> CMsgSteamDatagramRouterHealth_DataCenter {
::std::default::Default::default()
}
pub fn get_datacenter_id(&self) -> u32 {
self.datacenter_id.unwrap_or(0)
}
pub fn clear_datacenter_id(&mut self) {
self.datacenter_id = ::std::option::Option::None;
}
pub fn has_datacenter_id(&self) -> bool {
self.datacenter_id.is_some()
}
pub fn set_datacenter_id(&mut self, v: u32) {
self.datacenter_id = ::std::option::Option::Some(v);
}
pub fn get_state(&self) -> u32 {
self.state.unwrap_or(0)
}
pub fn clear_state(&mut self) {
self.state = ::std::option::Option::None;
}
pub fn has_state(&self) -> bool {
self.state.is_some()
}
pub fn set_state(&mut self, v: u32) {
self.state = ::std::option::Option::Some(v);
}
pub fn get_servers(&self) -> &[CMsgSteamDatagramGameServerSample] {
&self.servers
}
pub fn clear_servers(&mut self) {
self.servers.clear();
}
pub fn set_servers(&mut self, v: ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSample>) {
self.servers = v;
}
pub fn mut_servers(&mut self) -> &mut ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSample> {
&mut self.servers
}
pub fn take_servers(&mut self) -> ::protobuf::RepeatedField<CMsgSteamDatagramGameServerSample> {
::std::mem::replace(&mut self.servers, ::protobuf::RepeatedField::new())
}
}
impl ::protobuf::Message for CMsgSteamDatagramRouterHealth_DataCenter {
fn is_initialized(&self) -> bool {
for v in &self.servers {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.datacenter_id = ::std::option::Option::Some(tmp);
},
2 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.state = ::std::option::Option::Some(tmp);
},
3 => {
::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.servers)?;
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(v) = self.datacenter_id {
my_size += 5;
}
if let Some(v) = self.state {
my_size += ::protobuf::rt::value_size(2, v, ::protobuf::wire_format::WireTypeVarint);
}
for value in &self.servers {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
};
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.datacenter_id {
os.write_fixed32(1, v)?;
}
if let Some(v) = self.state {
os.write_uint32(2, v)?;
}
for v in &self.servers {
os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
};
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramRouterHealth_DataCenter {
CMsgSteamDatagramRouterHealth_DataCenter::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"datacenter_id",
|m: &CMsgSteamDatagramRouterHealth_DataCenter| { &m.datacenter_id },
|m: &mut CMsgSteamDatagramRouterHealth_DataCenter| { &mut m.datacenter_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"state",
|m: &CMsgSteamDatagramRouterHealth_DataCenter| { &m.state },
|m: &mut CMsgSteamDatagramRouterHealth_DataCenter| { &mut m.state },
));
fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CMsgSteamDatagramGameServerSample>>(
"servers",
|m: &CMsgSteamDatagramRouterHealth_DataCenter| { &m.servers },
|m: &mut CMsgSteamDatagramRouterHealth_DataCenter| { &mut m.servers },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramRouterHealth_DataCenter>(
"CMsgSteamDatagramRouterHealth.DataCenter",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramRouterHealth_DataCenter {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramRouterHealth_DataCenter> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramRouterHealth_DataCenter::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramRouterHealth_DataCenter {
fn clear(&mut self) {
self.datacenter_id = ::std::option::Option::None;
self.state = ::std::option::Option::None;
self.servers.clear();
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramRouterHealth_DataCenter {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramRouterHealth_DataCenter {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
pub quality_relay: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub quality_e2e: ::protobuf::SingularPtrField<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>,
pub ack_relay: ::std::vec::Vec<u32>,
pub legacy_ack_e2e: ::std::vec::Vec<u32>,
flags: ::std::option::Option<u32>,
ack_forward_target_revision: ::std::option::Option<u32>,
routes: ::protobuf::SingularField<::std::vec::Vec<u8>>,
ack_peer_routes_revision: ::std::option::Option<u32>,
from_connection_id: ::std::option::Option<u32>,
to_connection_id: ::std::option::Option<u32>,
from_relay_session_id: ::std::option::Option<u32>,
seq_num_nonce: ::std::option::Option<u32>,
to_relay_session_id: ::std::option::Option<u32>,
seq_num_r2r: ::std::option::Option<u32>,
seq_num_e2e: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
fn default() -> &'a CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
<CMsgSteamDatagramConnectionStatsP2PRouterToRouter as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
pub fn new() -> CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
::std::default::Default::default()
}
pub fn get_quality_relay(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_relay(&mut self) {
self.quality_relay.clear();
}
pub fn has_quality_relay(&self) -> bool {
self.quality_relay.is_some()
}
pub fn set_quality_relay(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_relay = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_relay(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_relay.is_none() {
self.quality_relay.set_default();
}
self.quality_relay.as_mut().unwrap()
}
pub fn take_quality_relay(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_relay.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_quality_e2e(&self) -> &super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.as_ref().unwrap_or_else(|| <super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality as ::protobuf::Message>::default_instance())
}
pub fn clear_quality_e2e(&mut self) {
self.quality_e2e.clear();
}
pub fn has_quality_e2e(&self) -> bool {
self.quality_e2e.is_some()
}
pub fn set_quality_e2e(&mut self, v: super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality) {
self.quality_e2e = ::protobuf::SingularPtrField::some(v);
}
pub fn mut_quality_e2e(&mut self) -> &mut super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
if self.quality_e2e.is_none() {
self.quality_e2e.set_default();
}
self.quality_e2e.as_mut().unwrap()
}
pub fn take_quality_e2e(&mut self) -> super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality {
self.quality_e2e.take().unwrap_or_else(|| super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality::new())
}
pub fn get_ack_relay(&self) -> &[u32] {
&self.ack_relay
}
pub fn clear_ack_relay(&mut self) {
self.ack_relay.clear();
}
pub fn set_ack_relay(&mut self, v: ::std::vec::Vec<u32>) {
self.ack_relay = v;
}
pub fn mut_ack_relay(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.ack_relay
}
pub fn take_ack_relay(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.ack_relay, ::std::vec::Vec::new())
}
pub fn get_legacy_ack_e2e(&self) -> &[u32] {
&self.legacy_ack_e2e
}
pub fn clear_legacy_ack_e2e(&mut self) {
self.legacy_ack_e2e.clear();
}
pub fn set_legacy_ack_e2e(&mut self, v: ::std::vec::Vec<u32>) {
self.legacy_ack_e2e = v;
}
pub fn mut_legacy_ack_e2e(&mut self) -> &mut ::std::vec::Vec<u32> {
&mut self.legacy_ack_e2e
}
pub fn take_legacy_ack_e2e(&mut self) -> ::std::vec::Vec<u32> {
::std::mem::replace(&mut self.legacy_ack_e2e, ::std::vec::Vec::new())
}
pub fn get_flags(&self) -> u32 {
self.flags.unwrap_or(0)
}
pub fn clear_flags(&mut self) {
self.flags = ::std::option::Option::None;
}
pub fn has_flags(&self) -> bool {
self.flags.is_some()
}
pub fn set_flags(&mut self, v: u32) {
self.flags = ::std::option::Option::Some(v);
}
pub fn get_ack_forward_target_revision(&self) -> u32 {
self.ack_forward_target_revision.unwrap_or(0)
}
pub fn clear_ack_forward_target_revision(&mut self) {
self.ack_forward_target_revision = ::std::option::Option::None;
}
pub fn has_ack_forward_target_revision(&self) -> bool {
self.ack_forward_target_revision.is_some()
}
pub fn set_ack_forward_target_revision(&mut self, v: u32) {
self.ack_forward_target_revision = ::std::option::Option::Some(v);
}
pub fn get_routes(&self) -> &[u8] {
match self.routes.as_ref() {
Some(v) => &v,
None => &[],
}
}
pub fn clear_routes(&mut self) {
self.routes.clear();
}
pub fn has_routes(&self) -> bool {
self.routes.is_some()
}
pub fn set_routes(&mut self, v: ::std::vec::Vec<u8>) {
self.routes = ::protobuf::SingularField::some(v);
}
pub fn mut_routes(&mut self) -> &mut ::std::vec::Vec<u8> {
if self.routes.is_none() {
self.routes.set_default();
}
self.routes.as_mut().unwrap()
}
pub fn take_routes(&mut self) -> ::std::vec::Vec<u8> {
self.routes.take().unwrap_or_else(|| ::std::vec::Vec::new())
}
pub fn get_ack_peer_routes_revision(&self) -> u32 {
self.ack_peer_routes_revision.unwrap_or(0)
}
pub fn clear_ack_peer_routes_revision(&mut self) {
self.ack_peer_routes_revision = ::std::option::Option::None;
}
pub fn has_ack_peer_routes_revision(&self) -> bool {
self.ack_peer_routes_revision.is_some()
}
pub fn set_ack_peer_routes_revision(&mut self, v: u32) {
self.ack_peer_routes_revision = ::std::option::Option::Some(v);
}
pub fn get_from_connection_id(&self) -> u32 {
self.from_connection_id.unwrap_or(0)
}
pub fn clear_from_connection_id(&mut self) {
self.from_connection_id = ::std::option::Option::None;
}
pub fn has_from_connection_id(&self) -> bool {
self.from_connection_id.is_some()
}
pub fn set_from_connection_id(&mut self, v: u32) {
self.from_connection_id = ::std::option::Option::Some(v);
}
pub fn get_to_connection_id(&self) -> u32 {
self.to_connection_id.unwrap_or(0)
}
pub fn clear_to_connection_id(&mut self) {
self.to_connection_id = ::std::option::Option::None;
}
pub fn has_to_connection_id(&self) -> bool {
self.to_connection_id.is_some()
}
pub fn set_to_connection_id(&mut self, v: u32) {
self.to_connection_id = ::std::option::Option::Some(v);
}
pub fn get_from_relay_session_id(&self) -> u32 {
self.from_relay_session_id.unwrap_or(0)
}
pub fn clear_from_relay_session_id(&mut self) {
self.from_relay_session_id = ::std::option::Option::None;
}
pub fn has_from_relay_session_id(&self) -> bool {
self.from_relay_session_id.is_some()
}
pub fn set_from_relay_session_id(&mut self, v: u32) {
self.from_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_seq_num_nonce(&self) -> u32 {
self.seq_num_nonce.unwrap_or(0)
}
pub fn clear_seq_num_nonce(&mut self) {
self.seq_num_nonce = ::std::option::Option::None;
}
pub fn has_seq_num_nonce(&self) -> bool {
self.seq_num_nonce.is_some()
}
pub fn set_seq_num_nonce(&mut self, v: u32) {
self.seq_num_nonce = ::std::option::Option::Some(v);
}
pub fn get_to_relay_session_id(&self) -> u32 {
self.to_relay_session_id.unwrap_or(0)
}
pub fn clear_to_relay_session_id(&mut self) {
self.to_relay_session_id = ::std::option::Option::None;
}
pub fn has_to_relay_session_id(&self) -> bool {
self.to_relay_session_id.is_some()
}
pub fn set_to_relay_session_id(&mut self, v: u32) {
self.to_relay_session_id = ::std::option::Option::Some(v);
}
pub fn get_seq_num_r2r(&self) -> u32 {
self.seq_num_r2r.unwrap_or(0)
}
pub fn clear_seq_num_r2r(&mut self) {
self.seq_num_r2r = ::std::option::Option::None;
}
pub fn has_seq_num_r2r(&self) -> bool {
self.seq_num_r2r.is_some()
}
pub fn set_seq_num_r2r(&mut self, v: u32) {
self.seq_num_r2r = ::std::option::Option::Some(v);
}
pub fn get_seq_num_e2e(&self) -> u32 {
self.seq_num_e2e.unwrap_or(0)
}
pub fn clear_seq_num_e2e(&mut self) {
self.seq_num_e2e = ::std::option::Option::None;
}
pub fn has_seq_num_e2e(&self) -> bool {
self.seq_num_e2e.is_some()
}
pub fn set_seq_num_e2e(&mut self, v: u32) {
self.seq_num_e2e = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
fn is_initialized(&self) -> bool {
for v in &self.quality_relay {
if !v.is_initialized() {
return false;
}
};
for v in &self.quality_e2e {
if !v.is_initialized() {
return false;
}
};
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
1 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_relay)?;
},
2 => {
::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quality_e2e)?;
},
3 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.ack_relay)?;
},
4 => {
::protobuf::rt::read_repeated_fixed32_into(wire_type, is, &mut self.legacy_ack_e2e)?;
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.flags = ::std::option::Option::Some(tmp);
},
6 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.ack_forward_target_revision = ::std::option::Option::Some(tmp);
},
7 => {
::protobuf::rt::read_singular_bytes_into(wire_type, is, &mut self.routes)?;
},
8 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.ack_peer_routes_revision = ::std::option::Option::Some(tmp);
},
21 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.from_connection_id = ::std::option::Option::Some(tmp);
},
24 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.to_connection_id = ::std::option::Option::Some(tmp);
},
22 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.from_relay_session_id = ::std::option::Option::Some(tmp);
},
28 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_nonce = ::std::option::Option::Some(tmp);
},
25 => {
if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_fixed32()?;
self.to_relay_session_id = ::std::option::Option::Some(tmp);
},
26 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_r2r = ::std::option::Option::Some(tmp);
},
27 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.seq_num_e2e = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.quality_relay.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
let len = v.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
}
my_size += 5 * self.ack_relay.len() as u32;
my_size += 5 * self.legacy_ack_e2e.len() as u32;
if let Some(v) = self.flags {
my_size += ::protobuf::rt::value_size(5, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.ack_forward_target_revision {
my_size += ::protobuf::rt::value_size(6, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(ref v) = self.routes.as_ref() {
my_size += ::protobuf::rt::bytes_size(7, &v);
}
if let Some(v) = self.ack_peer_routes_revision {
my_size += ::protobuf::rt::value_size(8, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.from_connection_id {
my_size += 6;
}
if let Some(v) = self.to_connection_id {
my_size += 6;
}
if let Some(v) = self.from_relay_session_id {
my_size += 6;
}
if let Some(v) = self.seq_num_nonce {
my_size += ::protobuf::rt::value_size(28, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.to_relay_session_id {
my_size += 6;
}
if let Some(v) = self.seq_num_r2r {
my_size += ::protobuf::rt::value_size(26, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.seq_num_e2e {
my_size += ::protobuf::rt::value_size(27, 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.quality_relay.as_ref() {
os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
if let Some(ref v) = self.quality_e2e.as_ref() {
os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
os.write_raw_varint32(v.get_cached_size())?;
v.write_to_with_cached_sizes(os)?;
}
for v in &self.ack_relay {
os.write_fixed32(3, *v)?;
};
for v in &self.legacy_ack_e2e {
os.write_fixed32(4, *v)?;
};
if let Some(v) = self.flags {
os.write_uint32(5, v)?;
}
if let Some(v) = self.ack_forward_target_revision {
os.write_uint32(6, v)?;
}
if let Some(ref v) = self.routes.as_ref() {
os.write_bytes(7, &v)?;
}
if let Some(v) = self.ack_peer_routes_revision {
os.write_uint32(8, v)?;
}
if let Some(v) = self.from_connection_id {
os.write_fixed32(21, v)?;
}
if let Some(v) = self.to_connection_id {
os.write_fixed32(24, v)?;
}
if let Some(v) = self.from_relay_session_id {
os.write_fixed32(22, v)?;
}
if let Some(v) = self.seq_num_nonce {
os.write_uint32(28, v)?;
}
if let Some(v) = self.to_relay_session_id {
os.write_fixed32(25, v)?;
}
if let Some(v) = self.seq_num_r2r {
os.write_uint32(26, v)?;
}
if let Some(v) = self.seq_num_e2e {
os.write_uint32(27, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
CMsgSteamDatagramConnectionStatsP2PRouterToRouter::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_relay",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.quality_relay },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.quality_relay },
));
fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::steamnetworkingsockets_messages::CMsgSteamDatagramConnectionQuality>>(
"quality_e2e",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.quality_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.quality_e2e },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"ack_relay",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.ack_relay },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.ack_relay },
));
fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"legacy_ack_e2e",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.legacy_ack_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.legacy_ack_e2e },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"flags",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.flags },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.flags },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"ack_forward_target_revision",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.ack_forward_target_revision },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.ack_forward_target_revision },
));
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
"routes",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.routes },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.routes },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"ack_peer_routes_revision",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.ack_peer_routes_revision },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.ack_peer_routes_revision },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"from_connection_id",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.from_connection_id },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.from_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"to_connection_id",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.to_connection_id },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.to_connection_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"from_relay_session_id",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.from_relay_session_id },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.from_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_nonce",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.seq_num_nonce },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.seq_num_nonce },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeFixed32>(
"to_relay_session_id",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.to_relay_session_id },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.to_relay_session_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_r2r",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.seq_num_r2r },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.seq_num_r2r },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"seq_num_e2e",
|m: &CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &m.seq_num_e2e },
|m: &mut CMsgSteamDatagramConnectionStatsP2PRouterToRouter| { &mut m.seq_num_e2e },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsP2PRouterToRouter>(
"CMsgSteamDatagramConnectionStatsP2PRouterToRouter",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramConnectionStatsP2PRouterToRouter> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramConnectionStatsP2PRouterToRouter::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
fn clear(&mut self) {
self.quality_relay.clear();
self.quality_e2e.clear();
self.ack_relay.clear();
self.legacy_ack_e2e.clear();
self.flags = ::std::option::Option::None;
self.ack_forward_target_revision = ::std::option::Option::None;
self.routes.clear();
self.ack_peer_routes_revision = ::std::option::Option::None;
self.from_connection_id = ::std::option::Option::None;
self.to_connection_id = ::std::option::Option::None;
self.from_relay_session_id = ::std::option::Option::None;
self.seq_num_nonce = ::std::option::Option::None;
self.to_relay_session_id = ::std::option::Option::None;
self.seq_num_r2r = ::std::option::Option::None;
self.seq_num_e2e = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsP2PRouterToRouter {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags {
ACK_REQUEST_RELAY = 1,
ACK_REQUEST_E2E = 2,
ACK_REQUEST_IMMEDIATE = 4,
NOT_PRIMARY_TRANSPORT_E2E = 16,
}
impl ::protobuf::ProtobufEnum for CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags> {
match value {
1 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags::ACK_REQUEST_RELAY),
2 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags::ACK_REQUEST_E2E),
4 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags::ACK_REQUEST_IMMEDIATE),
16 => ::std::option::Option::Some(CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags::NOT_PRIMARY_TRANSPORT_E2E),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags] = &[
CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags::ACK_REQUEST_RELAY,
CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags::ACK_REQUEST_E2E,
CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags::ACK_REQUEST_IMMEDIATE,
CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags::NOT_PRIMARY_TRANSPORT_E2E,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags>("CMsgSteamDatagramConnectionStatsP2PRouterToRouter.Flags", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags {
}
impl ::std::default::Default for CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags {
fn default() -> Self {
CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags::ACK_REQUEST_RELAY
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramConnectionStatsP2PRouterToRouter_Flags {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
client_id: ::protobuf::SingularField<::std::string::String>,
app_id: ::std::option::Option<u32>,
protocol_ver: ::std::option::Option<u32>,
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
fn default() -> &'a CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
<CMsgSteamDatagramNetworkNextRouterPingRequestExtraData as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
pub fn new() -> CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
::std::default::Default::default()
}
pub fn get_client_id(&self) -> &str {
match self.client_id.as_ref() {
Some(v) => &v,
None => "",
}
}
pub fn clear_client_id(&mut self) {
self.client_id.clear();
}
pub fn has_client_id(&self) -> bool {
self.client_id.is_some()
}
pub fn set_client_id(&mut self, v: ::std::string::String) {
self.client_id = ::protobuf::SingularField::some(v);
}
pub fn mut_client_id(&mut self) -> &mut ::std::string::String {
if self.client_id.is_none() {
self.client_id.set_default();
}
self.client_id.as_mut().unwrap()
}
pub fn take_client_id(&mut self) -> ::std::string::String {
self.client_id.take().unwrap_or_else(|| ::std::string::String::new())
}
pub fn get_app_id(&self) -> u32 {
self.app_id.unwrap_or(0)
}
pub fn clear_app_id(&mut self) {
self.app_id = ::std::option::Option::None;
}
pub fn has_app_id(&self) -> bool {
self.app_id.is_some()
}
pub fn set_app_id(&mut self, v: u32) {
self.app_id = ::std::option::Option::Some(v);
}
pub fn get_protocol_ver(&self) -> u32 {
self.protocol_ver.unwrap_or(0)
}
pub fn clear_protocol_ver(&mut self) {
self.protocol_ver = ::std::option::Option::None;
}
pub fn has_protocol_ver(&self) -> bool {
self.protocol_ver.is_some()
}
pub fn set_protocol_ver(&mut self, v: u32) {
self.protocol_ver = ::std::option::Option::Some(v);
}
}
impl ::protobuf::Message for CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
3 => {
::protobuf::rt::read_singular_string_into(wire_type, is, &mut self.client_id)?;
},
4 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.app_id = ::std::option::Option::Some(tmp);
},
5 => {
if wire_type != ::protobuf::wire_format::WireTypeVarint {
return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
}
let tmp = is.read_uint32()?;
self.protocol_ver = ::std::option::Option::Some(tmp);
},
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
if let Some(ref v) = self.client_id.as_ref() {
my_size += ::protobuf::rt::string_size(3, &v);
}
if let Some(v) = self.app_id {
my_size += ::protobuf::rt::value_size(4, v, ::protobuf::wire_format::WireTypeVarint);
}
if let Some(v) = self.protocol_ver {
my_size += ::protobuf::rt::value_size(5, 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.client_id.as_ref() {
os.write_string(3, &v)?;
}
if let Some(v) = self.app_id {
os.write_uint32(4, v)?;
}
if let Some(v) = self.protocol_ver {
os.write_uint32(5, v)?;
}
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
CMsgSteamDatagramNetworkNextRouterPingRequestExtraData::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let mut fields = ::std::vec::Vec::new();
fields.push(::protobuf::reflect::accessor::make_singular_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
"client_id",
|m: &CMsgSteamDatagramNetworkNextRouterPingRequestExtraData| { &m.client_id },
|m: &mut CMsgSteamDatagramNetworkNextRouterPingRequestExtraData| { &mut m.client_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"app_id",
|m: &CMsgSteamDatagramNetworkNextRouterPingRequestExtraData| { &m.app_id },
|m: &mut CMsgSteamDatagramNetworkNextRouterPingRequestExtraData| { &mut m.app_id },
));
fields.push(::protobuf::reflect::accessor::make_option_accessor::<_, ::protobuf::types::ProtobufTypeUint32>(
"protocol_ver",
|m: &CMsgSteamDatagramNetworkNextRouterPingRequestExtraData| { &m.protocol_ver },
|m: &mut CMsgSteamDatagramNetworkNextRouterPingRequestExtraData| { &mut m.protocol_ver },
));
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramNetworkNextRouterPingRequestExtraData>(
"CMsgSteamDatagramNetworkNextRouterPingRequestExtraData",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramNetworkNextRouterPingRequestExtraData> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramNetworkNextRouterPingRequestExtraData::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
fn clear(&mut self) {
self.client_id.clear();
self.app_id = ::std::option::Option::None;
self.protocol_ver = ::std::option::Option::None;
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramNetworkNextRouterPingRequestExtraData {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(PartialEq,Clone,Default)]
pub struct CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
pub unknown_fields: ::protobuf::UnknownFields,
pub cached_size: ::protobuf::CachedSize,
}
impl<'a> ::std::default::Default for &'a CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
fn default() -> &'a CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
<CMsgSteamDatagramNetworkNextRouterPingReplyExtraData as ::protobuf::Message>::default_instance()
}
}
impl CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
pub fn new() -> CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
::std::default::Default::default()
}
}
impl ::protobuf::Message for CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
while !is.eof()? {
let (field_number, wire_type) = is.read_tag_unpack()?;
match field_number {
_ => {
::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
#[allow(unused_variables)]
fn compute_size(&self) -> u32 {
let mut my_size = 0;
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<()> {
os.write_unknown_fields(self.get_unknown_fields())?;
::std::result::Result::Ok(())
}
fn get_cached_size(&self) -> u32 {
self.cached_size.get()
}
fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
&self.unknown_fields
}
fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
&mut self.unknown_fields
}
fn as_any(&self) -> &dyn (::std::any::Any) {
self as &dyn (::std::any::Any)
}
fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
self as &mut dyn (::std::any::Any)
}
fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
self
}
fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
Self::descriptor_static()
}
fn new() -> CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
CMsgSteamDatagramNetworkNextRouterPingReplyExtraData::new()
}
fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
let fields = ::std::vec::Vec::new();
::protobuf::reflect::MessageDescriptor::new_pb_name::<CMsgSteamDatagramNetworkNextRouterPingReplyExtraData>(
"CMsgSteamDatagramNetworkNextRouterPingReplyExtraData",
fields,
file_descriptor_proto()
)
})
}
fn default_instance() -> &'static CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
static instance: ::protobuf::rt::LazyV2<CMsgSteamDatagramNetworkNextRouterPingReplyExtraData> = ::protobuf::rt::LazyV2::INIT;
instance.get(CMsgSteamDatagramNetworkNextRouterPingReplyExtraData::new)
}
}
impl ::protobuf::Clear for CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
fn clear(&mut self) {
self.unknown_fields.clear();
}
}
impl ::std::fmt::Debug for CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for CMsgSteamDatagramNetworkNextRouterPingReplyExtraData {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Message(self)
}
}
#[derive(Clone,PartialEq,Eq,Debug,Hash)]
pub enum ESteamDatagramMsgID {
k_ESteamDatagramMsg_Invalid = 0,
k_ESteamDatagramMsg_RouterPingRequest = 1,
k_ESteamDatagramMsg_RouterPingReply = 2,
k_ESteamDatagramMsg_GameserverPingRequest = 3,
k_ESteamDatagramMsg_LegacyGameserverPingReply = 4,
k_ESteamDatagramMsg_GameserverSessionRequest = 5,
k_ESteamDatagramMsg_GameserverSessionEstablished = 6,
k_ESteamDatagramMsg_NoSession = 7,
k_ESteamDatagramMsg_Diagnostic = 8,
k_ESteamDatagramMsg_DataClientToRouter = 9,
k_ESteamDatagramMsg_DataRouterToServer = 10,
k_ESteamDatagramMsg_DataServerToRouter = 11,
k_ESteamDatagramMsg_DataRouterToClient = 12,
k_ESteamDatagramMsg_Stats = 13,
k_ESteamDatagramMsg_ClientPingSampleRequest = 14,
k_ESteamDatagramMsg_ClientPingSampleReply = 15,
k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary = 16,
k_ESteamDatagramMsg_RelayHealth = 17,
k_ESteamDatagramMsg_ConnectRequest = 18,
k_ESteamDatagramMsg_ConnectOK = 19,
k_ESteamDatagramMsg_ConnectionClosed = 20,
k_ESteamDatagramMsg_NoConnection = 21,
k_ESteamDatagramMsg_RelayToRelayPingRequest = 22,
k_ESteamDatagramMsg_RelayToRelayPingReply = 23,
k_ESteamDatagramMsg_P2PSessionRequest = 24,
k_ESteamDatagramMsg_P2PSessionEstablished = 25,
k_ESteamDatagramMsg_P2PStatsClient = 26,
k_ESteamDatagramMsg_P2PStatsRelay = 27,
k_ESteamDatagramMsg_P2PBadRoute = 28,
k_ESteamDatagramMsg_GameserverPingReply = 29,
k_ESteamDatagramMsg_GameserverRegistration = 30,
}
impl ::protobuf::ProtobufEnum for ESteamDatagramMsgID {
fn value(&self) -> i32 {
*self as i32
}
fn from_i32(value: i32) -> ::std::option::Option<ESteamDatagramMsgID> {
match value {
0 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_Invalid),
1 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_RouterPingRequest),
2 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_RouterPingReply),
3 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_GameserverPingRequest),
4 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_LegacyGameserverPingReply),
5 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_GameserverSessionRequest),
6 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_GameserverSessionEstablished),
7 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_NoSession),
8 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_Diagnostic),
9 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_DataClientToRouter),
10 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_DataRouterToServer),
11 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_DataServerToRouter),
12 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_DataRouterToClient),
13 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_Stats),
14 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_ClientPingSampleRequest),
15 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_ClientPingSampleReply),
16 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary),
17 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_RelayHealth),
18 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_ConnectRequest),
19 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_ConnectOK),
20 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_ConnectionClosed),
21 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_NoConnection),
22 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_RelayToRelayPingRequest),
23 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_RelayToRelayPingReply),
24 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_P2PSessionRequest),
25 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_P2PSessionEstablished),
26 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_P2PStatsClient),
27 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_P2PStatsRelay),
28 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_P2PBadRoute),
29 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_GameserverPingReply),
30 => ::std::option::Option::Some(ESteamDatagramMsgID::k_ESteamDatagramMsg_GameserverRegistration),
_ => ::std::option::Option::None
}
}
fn values() -> &'static [Self] {
static values: &'static [ESteamDatagramMsgID] = &[
ESteamDatagramMsgID::k_ESteamDatagramMsg_Invalid,
ESteamDatagramMsgID::k_ESteamDatagramMsg_RouterPingRequest,
ESteamDatagramMsgID::k_ESteamDatagramMsg_RouterPingReply,
ESteamDatagramMsgID::k_ESteamDatagramMsg_GameserverPingRequest,
ESteamDatagramMsgID::k_ESteamDatagramMsg_LegacyGameserverPingReply,
ESteamDatagramMsgID::k_ESteamDatagramMsg_GameserverSessionRequest,
ESteamDatagramMsgID::k_ESteamDatagramMsg_GameserverSessionEstablished,
ESteamDatagramMsgID::k_ESteamDatagramMsg_NoSession,
ESteamDatagramMsgID::k_ESteamDatagramMsg_Diagnostic,
ESteamDatagramMsgID::k_ESteamDatagramMsg_DataClientToRouter,
ESteamDatagramMsgID::k_ESteamDatagramMsg_DataRouterToServer,
ESteamDatagramMsgID::k_ESteamDatagramMsg_DataServerToRouter,
ESteamDatagramMsgID::k_ESteamDatagramMsg_DataRouterToClient,
ESteamDatagramMsgID::k_ESteamDatagramMsg_Stats,
ESteamDatagramMsgID::k_ESteamDatagramMsg_ClientPingSampleRequest,
ESteamDatagramMsgID::k_ESteamDatagramMsg_ClientPingSampleReply,
ESteamDatagramMsgID::k_ESteamDatagramMsg_ClientToRouterSwitchedPrimary,
ESteamDatagramMsgID::k_ESteamDatagramMsg_RelayHealth,
ESteamDatagramMsgID::k_ESteamDatagramMsg_ConnectRequest,
ESteamDatagramMsgID::k_ESteamDatagramMsg_ConnectOK,
ESteamDatagramMsgID::k_ESteamDatagramMsg_ConnectionClosed,
ESteamDatagramMsgID::k_ESteamDatagramMsg_NoConnection,
ESteamDatagramMsgID::k_ESteamDatagramMsg_RelayToRelayPingRequest,
ESteamDatagramMsgID::k_ESteamDatagramMsg_RelayToRelayPingReply,
ESteamDatagramMsgID::k_ESteamDatagramMsg_P2PSessionRequest,
ESteamDatagramMsgID::k_ESteamDatagramMsg_P2PSessionEstablished,
ESteamDatagramMsgID::k_ESteamDatagramMsg_P2PStatsClient,
ESteamDatagramMsgID::k_ESteamDatagramMsg_P2PStatsRelay,
ESteamDatagramMsgID::k_ESteamDatagramMsg_P2PBadRoute,
ESteamDatagramMsgID::k_ESteamDatagramMsg_GameserverPingReply,
ESteamDatagramMsgID::k_ESteamDatagramMsg_GameserverRegistration,
];
values
}
fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
descriptor.get(|| {
::protobuf::reflect::EnumDescriptor::new_pb_name::<ESteamDatagramMsgID>("ESteamDatagramMsgID", file_descriptor_proto())
})
}
}
impl ::std::marker::Copy for ESteamDatagramMsgID {
}
impl ::std::default::Default for ESteamDatagramMsgID {
fn default() -> Self {
ESteamDatagramMsgID::k_ESteamDatagramMsg_Invalid
}
}
impl ::protobuf::reflect::ProtobufValue for ESteamDatagramMsgID {
fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
}
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x20steamdatagram_messages_sdr.proto\x1a+steamnetworkingsockets_messag\
es_certs.proto\x1a%steamnetworkingsockets_messages.proto\"\xd3\x08\n\x20\
CMsgSteamDatagramRouterPingReply\x12)\n\x10client_timestamp\x18\x01\x20\
\x01(\x07R\x0fclientTimestamp\x128\n\x16latency_datacenter_ids\x18\x02\
\x20\x03(\x07R\x14latencyDatacenterIdsB\x02\x10\x01\x12*\n\x0flatency_pi\
ng_ms\x18\x03\x20\x03(\rR\rlatencyPingMsB\x02\x10\x01\x12$\n\x0eyour_pub\
lic_ip\x18\x04\x20\x01(\x07R\x0cyourPublicIp\x12(\n\x10your_public_port\
\x18\x0b\x20\x01(\x07R\x0eyourPublicPort\x12\x1f\n\x0bserver_time\x18\
\x05\x20\x01(\x07R\nserverTime\x12\x1c\n\tchallenge\x18\x06\x20\x01(\x06\
R\tchallenge\x124\n\x16seconds_until_shutdown\x18\x07\x20\x01(\rR\x14sec\
ondsUntilShutdown\x12#\n\rclient_cookie\x18\x08\x20\x01(\x07R\x0cclientC\
ookie\x12A\n\x1dscoring_penalty_relay_cluster\x18\t\x20\x01(\rR\x1ascori\
ngPenaltyRelayCluster\x12\x14\n\x05flags\x18\x0c\x20\x01(\rR\x05flags\
\x12[\n\x10route_exceptions\x18\n\x20\x03(\x0b20.CMsgSteamDatagramRouter\
PingReply.RouteExceptionR\x0frouteExceptions\x12Q\n\ralt_addresses\x18\r\
\x20\x03(\x0b2,.CMsgSteamDatagramRouterPingReply.AltAddressR\x0caltAddre\
sses\x1af\n\x0eRouteException\x12$\n\x0edata_center_id\x18\x01\x20\x01(\
\x07R\x0cdataCenterId\x12\x14\n\x05flags\x18\x02\x20\x01(\rR\x05flags\
\x12\x18\n\x07penalty\x18\x03\x20\x01(\rR\x07penalty\x1a\xf4\x01\n\nAltA\
ddress\x12\x12\n\x04ipv4\x18\x01\x20\x01(\x07R\x04ipv4\x12\x12\n\x04port\
\x18\x02\x20\x01(\rR\x04port\x12\x18\n\x07penalty\x18\x03\x20\x01(\rR\
\x07penalty\x12b\n\x08protocol\x18\x04\x20\x01(\x0e25.CMsgSteamDatagramR\
outerPingReply.AltAddress.Protocol:\x0fDefaultProtocolR\x08protocol\x12\
\x0e\n\x02id\x18\x05\x20\x01(\tR\x02id\"0\n\x08Protocol\x12\x13\n\x0fDef\
aultProtocol\x10\0\x12\x0f\n\x0bNetworkNext\x10\x01\"L\n\x05Flags\x12\
\x20\n\x1cFLAG_MAYBE_MORE_DATA_CENTERS\x10\x01\x12!\n\x1dFLAG_MAYBE_MORE\
_ALT_ADDRESSES\x10\x02\"\xe2\x01\n&CMsgSteamDatagramGameserverPingReques\
t\x12$\n\x0eyour_public_ip\x18\x01\x20\x01(\x07R\x0cyourPublicIp\x12(\n\
\x10your_public_port\x18\x05\x20\x01(\x07R\x0eyourPublicPort\x12\x1f\n\
\x0bserver_time\x18\x02\x20\x01(\x07R\nserverTime\x12\x1c\n\tchallenge\
\x18\x03\x20\x01(\x06R\tchallenge\x12)\n\x10router_timestamp\x18\x04\x20\
\x01(\x07R\x0frouterTimestamp\"t\n*CMsgSteamDatagramLegacyGameserverPing\
Reply\x12)\n\x10router_timestamp\x18\x04\x20\x01(\x07R\x0frouterTimestam\
p\x12\x1b\n\tdummy_pad\x18c\x20\x01(\x06R\x08dummyPad\"\xd9\x02\n$CMsgSt\
eamDatagramGameserverPingReply\x127\n\x04cert\x18\x01\x20\x01(\x0b2#.CMs\
gSteamDatagramCertificateSignedR\x04cert\x12\x1f\n\x0bsigned_data\x18\
\x02\x20\x01(\x0cR\nsignedData\x12\x1c\n\tsignature\x18\x03\x20\x01(\x0c\
R\tsignature\x1a\xb8\x01\n\nSignedData\x12%\n\x0echallenge_time\x18\x02\
\x20\x01(\x07R\rchallengeTime\x12\x1c\n\tchallenge\x18\x03\x20\x01(\x06R\
\tchallenge\x12)\n\x10router_timestamp\x18\x04\x20\x01(\x07R\x0frouterTi\
mestamp\x12$\n\x0edata_center_id\x18\x05\x20\x01(\x07R\x0cdataCenterId\
\x12\x14\n\x05appid\x18\x06\x20\x01(\rR\x05appid\"\x93\x02\n'CMsgSteamDa\
tagramNoSessionRelayToClient\x12#\n\rconnection_id\x18\x07\x20\x01(\x07R\
\x0cconnectionId\x12$\n\x0eyour_public_ip\x18\x02\x20\x01(\x07R\x0cyourP\
ublicIp\x12(\n\x10your_public_port\x18\x06\x20\x01(\x07R\x0eyourPublicPo\
rt\x12\x1f\n\x0bserver_time\x18\x03\x20\x01(\x07R\nserverTime\x12\x1c\n\
\tchallenge\x18\x04\x20\x01(\x06R\tchallenge\x124\n\x16seconds_until_shu\
tdown\x18\x05\x20\x01(\rR\x14secondsUntilShutdown\"\xde\x01\n%CMsgSteamD\
atagramNoSessionRelayToPeer\x125\n\x17legacy_relay_session_id\x18\x01\
\x20\x01(\rR\x14legacyRelaySessionId\x121\n\x15from_relay_session_id\x18\
\x02\x20\x01(\x07R\x12fromRelaySessionId\x12,\n\x12from_connection_id\
\x18\x07\x20\x01(\x07R\x10fromConnectionId\x12\x1d\n\nkludge_pad\x18c\
\x20\x01(\x06R\tkludgePad\"O\n(CMsgSteamDatagramClientPingSampleRequest\
\x12#\n\rconnection_id\x18\x01\x20\x01(\x07R\x0cconnectionId\"\x9a\n\n&C\
MsgSteamDatagramClientPingSampleReply\x12#\n\rconnection_id\x18\x01\x20\
\x01(\x07R\x0cconnectionId\x12'\n\x0foverride_active\x18\x04\x20\x01(\
\x08R\x0eoverrideActive\x12?\n\x04pops\x18\x02\x20\x03(\x0b2+.CMsgSteamD\
atagramClientPingSampleReply.POPR\x04pops\x12h\n\x13legacy_data_centers\
\x18\x03\x20\x03(\x0b28.CMsgSteamDatagramClientPingSampleReply.LegacyDat\
aCenterR\x11legacyDataCenters\x1a\xdd\x06\n\x03POP\x12\x15\n\x06pop_id\
\x18\x01\x20\x01(\x07R\x05popId\x121\n\x15default_front_ping_ms\x18\x02\
\x20\x01(\rR\x12defaultFrontPingMs\x12'\n\x0fcluster_penalty\x18\x04\x20\
\x01(\rR\x0eclusterPenalty\x12[\n\ralt_addresses\x18\x07\x20\x03(\x0b26.\
CMsgSteamDatagramClientPingSampleReply.POP.AltAddressR\x0caltAddresses\
\x12-\n\x13default_e2e_ping_ms\x18\x03\x20\x01(\rR\x10defaultE2ePingMs\
\x12*\n\x11default_e2e_score\x18\x05\x20\x01(\rR\x0fdefaultE2eScore\x127\
\n\x19p2p_via_peer_relay_pop_id\x18\x06\x20\x01(\x07R\x14p2pViaPeerRelay\
PopId\x12%\n\x0fbest_dc_ping_ms\x18\t\x20\x01(\rR\x0cbestDcPingMs\x12\"\
\n\rbest_dc_score\x18\n\x20\x01(\rR\x0bbestDcScore\x125\n\x18best_dc_via\
_relay_pop_id\x18\x0b\x20\x01(\x07R\x13bestDcViaRelayPopId\x12+\n\x12def\
ault_dc_ping_ms\x18\x0c\x20\x01(\rR\x0fdefaultDcPingMs\x12(\n\x10default\
_dc_score\x18\r\x20\x01(\rR\x0edefaultDcScore\x12;\n\x1bdefault_dc_via_r\
elay_pop_id\x18\x0e\x20\x01(\x07R\x16defaultDcViaRelayPopId\x12%\n\x0fte\
st_dc_ping_ms\x18\x0f\x20\x01(\rR\x0ctestDcPingMs\x12\"\n\rtest_dc_score\
\x18\x10\x20\x01(\rR\x0btestDcScore\x125\n\x18test_dc_via_relay_pop_id\
\x18\x11\x20\x01(\x07R\x13testDcViaRelayPopId\x1aZ\n\nAltAddress\x12\x0e\
\n\x02id\x18\x01\x20\x01(\tR\x02id\x12\"\n\rfront_ping_ms\x18\x02\x20\
\x01(\rR\x0bfrontPingMs\x12\x18\n\x07penalty\x18\x03\x20\x01(\rR\x07pena\
lty\x1a\x96\x01\n\x10LegacyDataCenter\x12$\n\x0edata_center_id\x18\x01\
\x20\x01(\x07R\x0cdataCenterId\x125\n\x18best_dc_via_relay_pop_id\x18\
\x02\x20\x01(\x07R\x13bestDcViaRelayPopId\x12%\n\x0fbest_dc_ping_ms\x18\
\x03\x20\x01(\rR\x0cbestDcPingMs\"\xef\x06\n&CMsgSteamDatagramClientSwit\
chedPrimary\x12#\n\rconnection_id\x18\x01\x20\x01(\x07R\x0cconnectionId\
\x12\x17\n\x07from_ip\x18\x02\x20\x01(\x07R\x06fromIp\x12\x1b\n\tfrom_po\
rt\x18\x03\x20\x01(\rR\x08fromPort\x12.\n\x13from_router_cluster\x18\x04\
\x20\x01(\x07R\x11fromRouterCluster\x12(\n\x10from_active_time\x18\x05\
\x20\x01(\rR\x0efromActiveTime\x127\n\x18from_active_packets_recv\x18\
\x06\x20\x01(\rR\x15fromActivePacketsRecv\x12.\n\x13from_dropped_reason\
\x18\x07\x20\x01(\tR\x11fromDroppedReason\x12\x15\n\x06gap_ms\x18\x08\
\x20\x01(\rR\x05gapMs\x12_\n\x10from_quality_now\x18\t\x20\x01(\x0b25.CM\
sgSteamDatagramClientSwitchedPrimary.RouterQualityR\x0efromQualityNow\
\x12[\n\x0eto_quality_now\x18\n\x20\x01(\x0b25.CMsgSteamDatagramClientSw\
itchedPrimary.RouterQualityR\x0ctoQualityNow\x12a\n\x11from_quality_then\
\x18\x0b\x20\x01(\x0b25.CMsgSteamDatagramClientSwitchedPrimary.RouterQua\
lityR\x0ffromQualityThen\x12]\n\x0fto_quality_then\x18\x0c\x20\x01(\x0b2\
5.CMsgSteamDatagramClientSwitchedPrimary.RouterQualityR\rtoQualityThen\
\x1a\x8f\x01\n\rRouterQuality\x12\x14\n\x05score\x18\x01\x20\x01(\rR\x05\
score\x12\x1d\n\nfront_ping\x18\x02\x20\x01(\rR\tfrontPing\x12\x1b\n\tba\
ck_ping\x18\x03\x20\x01(\rR\x08backPing\x12,\n\x12seconds_until_down\x18\
\x04\x20\x01(\rR\x10secondsUntilDown\"\xc0\x03\n\x1fCMsgSteamDatagramCon\
nectRequest\x12#\n\rconnection_id\x18\x01\x20\x01(\x07R\x0cconnectionId\
\x12!\n\x0cmy_timestamp\x18\x04\x20\x01(\x06R\x0bmyTimestamp\x12\x1e\n\
\x0bping_est_ms\x18\x05\x20\x01(\rR\tpingEstMs\x12!\n\x0cvirtual_port\
\x18\t\x20\x01(\rR\x0bvirtualPort\x12=\n\x1bgameserver_relay_session_id\
\x18\x02\x20\x01(\rR\x18gameserverRelaySessionId\x12>\n\x05crypt\x18\x06\
\x20\x01(\x0b2(.CMsgSteamDatagramSessionCryptInfoSignedR\x05crypt\x127\n\
\x04cert\x18\x07\x20\x01(\x0b2#.CMsgSteamDatagramCertificateSignedR\x04c\
ert\x12%\n\x0erouting_secret\x18\n\x20\x01(\x06R\rroutingSecret\x123\n\
\x16legacy_client_steam_id\x18\x03\x20\x01(\x06R\x13legacyClientSteamId\
\"\x87\x03\n\x1aCMsgSteamDatagramConnectOK\x120\n\x14client_connection_i\
d\x18\x01\x20\x01(\x07R\x12clientConnectionId\x120\n\x14server_connectio\
n_id\x18\x07\x20\x01(\x07R\x12serverConnectionId\x12%\n\x0eyour_timestam\
p\x18\x03\x20\x01(\x06R\ryourTimestamp\x12&\n\x0fdelay_time_usec\x18\x04\
\x20\x01(\rR\rdelayTimeUsec\x12=\n\x1bgameserver_relay_session_id\x18\
\x02\x20\x01(\rR\x18gameserverRelaySessionId\x12>\n\x05crypt\x18\x05\x20\
\x01(\x0b2(.CMsgSteamDatagramSessionCryptInfoSignedR\x05crypt\x127\n\x04\
cert\x18\x06\x20\x01(\x0b2#.CMsgSteamDatagramCertificateSignedR\x04cert\
\"\x91\x03\n'CMsgSteamNetworkingP2PSDRRoutingSummary\x12!\n\x0cinitial_p\
ing\x18\x01\x20\x01(\rR\x0binitialPing\x127\n\x18initial_ping_front_loca\
l\x18\x02\x20\x01(\rR\x15initialPingFrontLocal\x129\n\x19initial_ping_fr\
ont_remote\x18\x03\x20\x01(\rR\x16initialPingFrontRemote\x12#\n\rinitial\
_score\x18\x04\x20\x01(\rR\x0cinitialScore\x12*\n\x11initial_pop_local\
\x18\x05\x20\x01(\x07R\x0finitialPopLocal\x12,\n\x12initial_pop_remote\
\x18\x06\x20\x01(\x07R\x10initialPopRemote\x12%\n\x0enegotiation_ms\x18\
\x07\x20\x01(\rR\rnegotiationMs\x12)\n\x10selected_seconds\x18\x08\x20\
\x01(\rR\x0fselectedSeconds\"\x99\x01\n\"CMsgSteamDatagramP2PRoutingSumm\
ary\x127\n\x03ice\x18\x02\x20\x01(\x0b2%.CMsgSteamNetworkingICESessionSu\
mmaryR\x03ice\x12:\n\x03sdr\x18\x03\x20\x01(\x0b2(.CMsgSteamNetworkingP2\
PSDRRoutingSummaryR\x03sdr\"\xac\t\n!CMsgSteamDatagramConnectionClosed\
\x12(\n\x10to_connection_id\x18\x07\x20\x01(\x07R\x0etoConnectionId\x12,\
\n\x12from_connection_id\x18\x08\x20\x01(\x07R\x10fromConnectionId\x120\
\n\x14from_identity_string\x18\x0f\x20\x01(\tR\x12fromIdentityString\x12\
g\n\x1blegacy_from_identity_binary\x18\r\x20\x01(\x0b2(.CMsgSteamNetwork\
ingIdentityLegacyBinaryR\x18legacyFromIdentityBinary\x12/\n\x14legacy_fr\
om_steam_id\x18\x03\x20\x01(\x06R\x11legacyFromSteamId\x12J\n\"legacy_ga\
meserver_relay_session_id\x18\x02\x20\x01(\rR\x1elegacyGameserverRelaySe\
ssionId\x12-\n\x13to_relay_session_id\x18\t\x20\x01(\x07R\x10toRelaySess\
ionId\x121\n\x15from_relay_session_id\x18\n\x20\x01(\x07R\x12fromRelaySe\
ssionId\x12J\n\"forward_target_relay_routing_token\x18\x0b\x20\x01(\x0cR\
\x1eforwardTargetRelayRoutingToken\x126\n\x17forward_target_revision\x18\
\x0c\x20\x01(\rR\x15forwardTargetRevision\x12R\n\nrelay_mode\x18\x04\x20\
\x01(\x0e2-.CMsgSteamDatagramConnectionClosed.ERelayMode:\x04NoneR\trela\
yMode\x12\x14\n\x05debug\x18\x05\x20\x01(\tR\x05debug\x12\x1f\n\x0breaso\
n_code\x18\x06\x20\x01(\rR\nreasonCode\x12%\n\x0erouting_secret\x18\x0e\
\x20\x01(\x06R\rroutingSecret\x12.\n\x13not_primary_session\x18\x10\x20\
\x01(\x08R\x11notPrimarySession\x122\n\x15not_primary_transport\x18\x13\
\x20\x01(\x08R\x13notPrimaryTransport\x12H\n\rquality_relay\x18\x11\x20\
\x01(\x0b2#.CMsgSteamDatagramConnectionQualityR\x0cqualityRelay\x12D\n\
\x0bquality_e2e\x18\x12\x20\x01(\x0b2#.CMsgSteamDatagramConnectionQualit\
yR\nqualityE2e\x12S\n\x13p2p_routing_summary\x18\x15\x20\x01(\x0b2#.CMsg\
SteamDatagramP2PRoutingSummaryR\x11p2pRoutingSummary\"6\n\nERelayMode\
\x12\x08\n\x04None\x10\0\x12\x0c\n\x08EndToEnd\x10\x01\x12\x10\n\x0cClos\
edByPeer\x10\x02\"\xb4\x06\n\x1dCMsgSteamDatagramNoConnection\x12(\n\x10\
to_connection_id\x18\x05\x20\x01(\x07R\x0etoConnectionId\x12,\n\x12from_\
connection_id\x18\x06\x20\x01(\x07R\x10fromConnectionId\x12J\n\"legacy_g\
ameserver_relay_session_id\x18\x02\x20\x01(\rR\x1elegacyGameserverRelayS\
essionId\x12-\n\x13to_relay_session_id\x18\t\x20\x01(\x07R\x10toRelaySes\
sionId\x121\n\x15from_relay_session_id\x18\n\x20\x01(\x07R\x12fromRelayS\
essionId\x120\n\x14from_identity_string\x18\x07\x20\x01(\tR\x12fromIdent\
ityString\x12/\n\x14legacy_from_steam_id\x18\x03\x20\x01(\x06R\x11legacy\
FromSteamId\x12\x1c\n\nend_to_end\x18\x04\x20\x01(\x08R\x08endToEnd\x12.\
\n\x13not_primary_session\x18\x0c\x20\x01(\x08R\x11notPrimarySession\x12\
2\n\x15not_primary_transport\x18\x0f\x20\x01(\x08R\x13notPrimaryTranspor\
t\x12H\n\rquality_relay\x18\r\x20\x01(\x0b2#.CMsgSteamDatagramConnection\
QualityR\x0cqualityRelay\x12D\n\x0bquality_e2e\x18\x0e\x20\x01(\x0b2#.CM\
sgSteamDatagramConnectionQualityR\nqualityE2e\x12S\n\x13p2p_routing_summ\
ary\x18\x10\x20\x01(\x0b2#.CMsgSteamDatagramP2PRoutingSummaryR\x11p2pRou\
tingSummary\x12%\n\x0erouting_secret\x18\x0b\x20\x01(\x06R\rroutingSecre\
t\x12\x1c\n\tdummy_pad\x18\xff\x07\x20\x01(\x07R\x08dummyPad\"\xff\x02\n\
)CMsgSteamDatagramGameserverSessionRequest\x12\x16\n\x06ticket\x18\x01\
\x20\x01(\x0cR\x06ticket\x12%\n\x0echallenge_time\x18\x03\x20\x01(\x07R\
\rchallengeTime\x12\x1c\n\tchallenge\x18\x04\x20\x01(\x06R\tchallenge\
\x120\n\x14client_connection_id\x18\x05\x20\x01(\x07R\x12clientConnectio\
nId\x120\n\x14server_connection_id\x18\x08\x20\x01(\x07R\x12serverConnec\
tionId\x124\n\x16network_config_version\x18\x06\x20\x01(\rR\x14networkCo\
nfigVersion\x12)\n\x10protocol_version\x18\x07\x20\x01(\rR\x0fprotocolVe\
rsion\x12\x1a\n\x08platform\x18\t\x20\x01(\tR\x08platform\x12\x14\n\x05b\
uild\x18\n\x20\x01(\tR\x05build\"\xe5\x02\n-CMsgSteamDatagramGameserverS\
essionEstablished\x12#\n\rconnection_id\x18\x01\x20\x01(\x07R\x0cconnect\
ionId\x12<\n\x1agameserver_identity_string\x18\x02\x20\x01(\tR\x18gamese\
rverIdentityString\x124\n\x16seconds_until_shutdown\x18\x04\x20\x01(\rR\
\x14secondsUntilShutdown\x12\x1e\n\x0bseq_num_r2c\x18\x06\x20\x01(\rR\ts\
eqNumR2c\x12?\n\x1cdummy_legacy_identity_binary\x18\x07\x20\x01(\x0cR\
\x19dummyLegacyIdentityBinary\x12:\n\x19legacy_gameserver_steamid\x18\
\x03\x20\x01(\x06R\x17legacyGameserverSteamid\"\xf4\x03\n.CMsgSteamDatag\
ramConnectionStatsClientToRouter\x12H\n\rquality_relay\x18\x01\x20\x01(\
\x0b2#.CMsgSteamDatagramConnectionQualityR\x0cqualityRelay\x12D\n\x0bqua\
lity_e2e\x18\x02\x20\x01(\x0b2#.CMsgSteamDatagramConnectionQualityR\nqua\
lityE2e\x12\x1b\n\tack_relay\x18\x04\x20\x03(\x07R\x08ackRelay\x12$\n\
\x0elegacy_ack_e2e\x18\x05\x20\x03(\x07R\x0clegacyAckE2e\x12\x14\n\x05fl\
ags\x18\x06\x20\x01(\rR\x05flags\x120\n\x14client_connection_id\x18\x08\
\x20\x01(\x07R\x12clientConnectionId\x12\x1e\n\x0bseq_num_c2r\x18\t\x20\
\x01(\rR\tseqNumC2r\x12\x1e\n\x0bseq_num_e2e\x18\n\x20\x01(\rR\tseqNumE2\
e\"g\n\x05Flags\x12\x15\n\x11ACK_REQUEST_RELAY\x10\x01\x12\x13\n\x0fACK_\
REQUEST_E2E\x10\x02\x12\x19\n\x15ACK_REQUEST_IMMEDIATE\x10\x04\x12\x17\n\
\x13NOT_PRIMARY_SESSION\x10\x08\"\xb4\x05\n.CMsgSteamDatagramConnectionS\
tatsRouterToClient\x12H\n\rquality_relay\x18\x01\x20\x01(\x0b2#.CMsgStea\
mDatagramConnectionQualityR\x0cqualityRelay\x12D\n\x0bquality_e2e\x18\
\x02\x20\x01(\x0b2#.CMsgSteamDatagramConnectionQualityR\nqualityE2e\x124\
\n\x16seconds_until_shutdown\x18\x06\x20\x01(\rR\x14secondsUntilShutdown\
\x12,\n\x12migrate_request_ip\x18\n\x20\x01(\x07R\x10migrateRequestIp\
\x120\n\x14migrate_request_port\x18\x0b\x20\x01(\rR\x12migrateRequestPor\
t\x12A\n\x1dscoring_penalty_relay_cluster\x18\x0c\x20\x01(\rR\x1ascoring\
PenaltyRelayCluster\x12\x1b\n\tack_relay\x18\r\x20\x03(\x07R\x08ackRelay\
\x12$\n\x0elegacy_ack_e2e\x18\x0e\x20\x03(\x07R\x0clegacyAckE2e\x12\x14\
\n\x05flags\x18\x0f\x20\x01(\rR\x05flags\x120\n\x14client_connection_id\
\x18\x07\x20\x01(\x07R\x12clientConnectionId\x12\x1e\n\x0bseq_num_r2c\
\x18\x08\x20\x01(\rR\tseqNumR2c\x12\x1e\n\x0bseq_num_e2e\x18\t\x20\x01(\
\rR\tseqNumE2e\"N\n\x05Flags\x12\x15\n\x11ACK_REQUEST_RELAY\x10\x01\x12\
\x13\n\x0fACK_REQUEST_E2E\x10\x02\x12\x19\n\x15ACK_REQUEST_IMMEDIATE\x10\
\x04\"\xc9\x05\n.CMsgSteamDatagramConnectionStatsRouterToServer\x12H\n\r\
quality_relay\x18\x01\x20\x01(\x0b2#.CMsgSteamDatagramConnectionQualityR\
\x0cqualityRelay\x12D\n\x0bquality_e2e\x18\x02\x20\x01(\x0b2#.CMsgSteamD\
atagramConnectionQualityR\nqualityE2e\x12\x1b\n\tack_relay\x18\n\x20\x03\
(\x07R\x08ackRelay\x12$\n\x0elegacy_ack_e2e\x18\x0b\x20\x03(\x07R\x0cleg\
acyAckE2e\x12\x14\n\x05flags\x18\x0c\x20\x01(\rR\x05flags\x12\x1e\n\x0bs\
eq_num_r2s\x18\x05\x20\x01(\rR\tseqNumR2s\x12\x1e\n\x0bseq_num_e2e\x18\
\x06\x20\x01(\rR\tseqNumE2e\x124\n\x16client_identity_string\x18\x0f\x20\
\x01(\tR\x14clientIdentityString\x123\n\x16legacy_client_steam_id\x18\
\x07\x20\x01(\x06R\x13legacyClientSteamId\x12(\n\x10relay_session_id\x18\
\x08\x20\x01(\rR\x0erelaySessionId\x120\n\x14client_connection_id\x18\t\
\x20\x01(\x07R\x12clientConnectionId\x120\n\x14server_connection_id\x18\
\r\x20\x01(\x07R\x12serverConnectionId\x12%\n\x0erouting_secret\x18\x0e\
\x20\x01(\x06R\rroutingSecret\"N\n\x05Flags\x12\x15\n\x11ACK_REQUEST_REL\
AY\x10\x01\x12\x13\n\x0fACK_REQUEST_E2E\x10\x02\x12\x19\n\x15ACK_REQUEST\
_IMMEDIATE\x10\x04\"\xb7\x04\n.CMsgSteamDatagramConnectionStatsServerToR\
outer\x12H\n\rquality_relay\x18\x01\x20\x01(\x0b2#.CMsgSteamDatagramConn\
ectionQualityR\x0cqualityRelay\x12D\n\x0bquality_e2e\x18\x02\x20\x01(\
\x0b2#.CMsgSteamDatagramConnectionQualityR\nqualityE2e\x12\x1b\n\tack_re\
lay\x18\x08\x20\x03(\x07R\x08ackRelay\x12$\n\x0elegacy_ack_e2e\x18\t\x20\
\x03(\x07R\x0clegacyAckE2e\x12\x14\n\x05flags\x18\n\x20\x01(\rR\x05flags\
\x12\x1e\n\x0bseq_num_s2r\x18\x03\x20\x01(\rR\tseqNumS2r\x12\x1e\n\x0bse\
q_num_e2e\x18\x04\x20\x01(\rR\tseqNumE2e\x12(\n\x10relay_session_id\x18\
\x06\x20\x01(\rR\x0erelaySessionId\x120\n\x14client_connection_id\x18\
\x07\x20\x01(\x07R\x12clientConnectionId\x120\n\x14server_connection_id\
\x18\x0b\x20\x01(\x07R\x12serverConnectionId\"N\n\x05Flags\x12\x15\n\x11\
ACK_REQUEST_RELAY\x10\x01\x12\x13\n\x0fACK_REQUEST_E2E\x10\x02\x12\x19\n\
\x15ACK_REQUEST_IMMEDIATE\x10\x04\"\xed\x03\n&CMsgSteamDatagramP2PSessio\
nRequestBody\x12%\n\x0echallenge_time\x18\x01\x20\x01(\x07R\rchallengeTi\
me\x12\x1c\n\tchallenge\x18\x02\x20\x01(\x06R\tchallenge\x120\n\x14clien\
t_connection_id\x18\x03\x20\x01(\x07R\x12clientConnectionId\x12/\n\x14le\
gacy_peer_steam_id\x18\x04\x20\x01(\x06R\x11legacyPeerSteamId\x120\n\x14\
peer_identity_string\x18\x0b\x20\x01(\tR\x12peerIdentityString\x12,\n\
\x12peer_connection_id\x18\x05\x20\x01(\x07R\x10peerConnectionId\x12)\n\
\x10protocol_version\x18\x08\x20\x01(\rR\x0fprotocolVersion\x124\n\x16ne\
twork_config_version\x18\t\x20\x01(\rR\x14networkConfigVersion\x12(\n\
\x10unused_public_ip\x18\n\x20\x01(\x07R\x0eunusedPublicIp\x12\x1a\n\x08\
platform\x18\x0c\x20\x01(\tR\x08platform\x12\x14\n\x05build\x18\r\x20\
\x01(\tR\x05build\"\x8f\x01\n\"CMsgSteamDatagramP2PSessionRequest\x127\n\
\x04cert\x18\x01\x20\x01(\x0b2#.CMsgSteamDatagramCertificateSignedR\x04c\
ert\x12\x12\n\x04body\x18\x02\x20\x01(\x0cR\x04body\x12\x1c\n\tsignature\
\x18\x03\x20\x01(\x0cR\tsignature\"\xd3\x01\n&CMsgSteamDatagramP2PSessio\
nEstablished\x12#\n\rconnection_id\x18\x01\x20\x01(\x07R\x0cconnectionId\
\x124\n\x16seconds_until_shutdown\x18\x03\x20\x01(\rR\x14secondsUntilShu\
tdown\x12.\n\x13relay_routing_token\x18\x04\x20\x01(\x0cR\x11relayRoutin\
gToken\x12\x1e\n\x0bseq_num_r2c\x18\x05\x20\x01(\rR\tseqNumR2c\"\xb4\x06\
\n1CMsgSteamDatagramConnectionStatsP2PClientToRouter\x12H\n\rquality_rel\
ay\x18\x01\x20\x01(\x0b2#.CMsgSteamDatagramConnectionQualityR\x0cquality\
Relay\x12D\n\x0bquality_e2e\x18\x02\x20\x01(\x0b2#.CMsgSteamDatagramConn\
ectionQualityR\nqualityE2e\x12S\n\x13p2p_routing_summary\x18\x0e\x20\x01\
(\x0b2#.CMsgSteamDatagramP2PRoutingSummaryR\x11p2pRoutingSummary\x12\x1b\
\n\tack_relay\x18\x03\x20\x03(\x07R\x08ackRelay\x12$\n\x0elegacy_ack_e2e\
\x18\x04\x20\x03(\x07R\x0clegacyAckE2e\x12\x14\n\x05flags\x18\x05\x20\
\x01(\rR\x05flags\x12J\n\"forward_target_relay_routing_token\x18\x06\x20\
\x01(\x0cR\x1eforwardTargetRelayRoutingToken\x126\n\x17forward_target_re\
vision\x18\x07\x20\x01(\rR\x15forwardTargetRevision\x12\x16\n\x06routes\
\x18\x08\x20\x01(\x0cR\x06routes\x127\n\x18ack_peer_routes_revision\x18\
\t\x20\x01(\rR\x15ackPeerRoutesRevision\x12#\n\rconnection_id\x18\n\x20\
\x01(\x07R\x0cconnectionId\x12\x1e\n\x0bseq_num_c2r\x18\x0b\x20\x01(\rR\
\tseqNumC2r\x12\x1e\n\x0bseq_num_e2e\x18\x0c\x20\x01(\rR\tseqNumE2e\"\
\x86\x01\n\x05Flags\x12\x15\n\x11ACK_REQUEST_RELAY\x10\x01\x12\x13\n\x0f\
ACK_REQUEST_E2E\x10\x02\x12\x19\n\x15ACK_REQUEST_IMMEDIATE\x10\x04\x12\
\x17\n\x13NOT_PRIMARY_SESSION\x10\x08\x12\x1d\n\x19NOT_PRIMARY_TRANSPORT\
_E2E\x10\x10\"\xd9\x06\n1CMsgSteamDatagramConnectionStatsP2PRouterToClie\
nt\x12H\n\rquality_relay\x18\x01\x20\x01(\x0b2#.CMsgSteamDatagramConnect\
ionQualityR\x0cqualityRelay\x12D\n\x0bquality_e2e\x18\x02\x20\x01(\x0b2#\
.CMsgSteamDatagramConnectionQualityR\nqualityE2e\x124\n\x16seconds_until\
_shutdown\x18\x03\x20\x01(\rR\x14secondsUntilShutdown\x12,\n\x12migrate_\
request_ip\x18\x04\x20\x01(\x07R\x10migrateRequestIp\x120\n\x14migrate_r\
equest_port\x18\x05\x20\x01(\rR\x12migrateRequestPort\x12A\n\x1dscoring_\
penalty_relay_cluster\x18\x06\x20\x01(\rR\x1ascoringPenaltyRelayCluster\
\x12\x1b\n\tack_relay\x18\x07\x20\x03(\x07R\x08ackRelay\x12$\n\x0elegacy\
_ack_e2e\x18\x08\x20\x03(\x07R\x0clegacyAckE2e\x12\x14\n\x05flags\x18\t\
\x20\x01(\rR\x05flags\x12=\n\x1back_forward_target_revision\x18\n\x20\
\x01(\rR\x18ackForwardTargetRevision\x12\x16\n\x06routes\x18\x0b\x20\x01\
(\x0cR\x06routes\x127\n\x18ack_peer_routes_revision\x18\x0c\x20\x01(\rR\
\x15ackPeerRoutesRevision\x12#\n\rconnection_id\x18\r\x20\x01(\x07R\x0cc\
onnectionId\x12\x1e\n\x0bseq_num_r2c\x18\x0e\x20\x01(\rR\tseqNumR2c\x12\
\x1e\n\x0bseq_num_e2e\x18\x0f\x20\x01(\rR\tseqNumE2e\"m\n\x05Flags\x12\
\x15\n\x11ACK_REQUEST_RELAY\x10\x01\x12\x13\n\x0fACK_REQUEST_E2E\x10\x02\
\x12\x19\n\x15ACK_REQUEST_IMMEDIATE\x10\x04\x12\x1d\n\x19NOT_PRIMARY_TRA\
NSPORT_E2E\x10\x10\"\xec\x01\n*CMsgSteamDatagramP2PBadRouteRouterToClien\
t\x12#\n\rconnection_id\x18\x01\x20\x01(\x07R\x0cconnectionId\x12;\n\x1a\
failed_relay_routing_token\x18\x02\x20\x01(\x0cR\x17failedRelayRoutingTo\
ken\x12=\n\x1back_forward_target_revision\x18\x03\x20\x01(\rR\x18ackForw\
ardTargetRevision\x12\x1d\n\nkludge_pad\x18c\x20\x01(\x06R\tkludgePad\"\
\xc4\x03\n\x1aCMsgSteamDatagramP2PRoutes\x12O\n\x0erelay_clusters\x18\
\x01\x20\x03(\x0b2(.CMsgSteamDatagramP2PRoutes.RelayClusterR\rrelayClust\
ers\x129\n\x06routes\x18\x02\x20\x03(\x0b2!.CMsgSteamDatagramP2PRoutes.R\
outeR\x06routes\x12\x1a\n\x08revision\x18\x03\x20\x01(\rR\x08revision\
\x1a\xa2\x01\n\x0cRelayCluster\x12\x15\n\x06pop_id\x18\x01\x20\x01(\x07R\
\x05popId\x12\x17\n\x07ping_ms\x18\x02\x20\x01(\rR\x06pingMs\x12#\n\rsco\
re_penalty\x18\x03\x20\x01(\rR\x0cscorePenalty\x12=\n\x1bsession_relay_r\
outing_token\x18\x04\x20\x01(\x0cR\x18sessionRelayRoutingToken\x1aY\n\
\x05Route\x12\x1a\n\tmy_pop_id\x18\x01\x20\x01(\x07R\x07myPopId\x12\x1e\
\n\x0byour_pop_id\x18\x02\x20\x01(\x07R\tyourPopId\x12\x14\n\x05score\
\x18\x03\x20\x01(\rR\x05score\"K\n!CMsgSteamDatagramGameServerSample\x12\
\x12\n\x04ipv4\x18\x01\x20\x01(\x07R\x04ipv4\x12\x12\n\x04port\x18\x02\
\x20\x01(\rR\x04port\"\x90\x01\n+CMsgSteamDatagramGameServerSampleDataCe\
nter\x12#\n\rdatacenter_id\x18\x01\x20\x01(\x07R\x0cdatacenterId\x12<\n\
\x07servers\x18\x03\x20\x03(\x0b2\".CMsgSteamDatagramGameServerSampleR\
\x07servers\"\x9c\x02\n!CMsgSteamDatagramRelayToRelayPing\x12+\n\x11requ\
est_timestamp\x18\x01\x20\x01(\x07R\x10requestTimestamp\x12!\n\x0creques\
t_date\x18\x02\x20\x01(\x07R\x0brequestDate\x12\x1a\n\tmy_pop_id\x18\x03\
\x20\x01(\x07R\x07myPopId\x12\x1e\n\x0byour_pop_id\x18\x04\x20\x01(\x07R\
\tyourPopId\x12\x1a\n\x08checksum\x18\x05\x20\x01(\x07R\x08checksum\x12O\
\n\x0cdata_centers\x18\x06\x20\x03(\x0b2,.CMsgSteamDatagramGameServerSam\
pleDataCenterR\x0bdataCenters\"\xef\x02\n\x20CMsgSteamDatagramDataCenter\
State\x12O\n\x0cdata_centers\x18\x01\x20\x03(\x0b2,.CMsgSteamDatagramDat\
aCenterState.DataCenterR\x0bdataCenters\x1a;\n\x06Server\x12\x18\n\x07ad\
dress\x18\x01\x20\x01(\tR\x07address\x12\x17\n\x07ping_ms\x18\x02\x20\
\x01(\rR\x06pingMs\x1a\xbc\x01\n\nDataCenter\x12\x12\n\x04code\x18\x01\
\x20\x01(\tR\x04code\x12M\n\rserver_sample\x18\x02\x20\x03(\x0b2(.CMsgSt\
eamDatagramDataCenterState.ServerR\x0cserverSample\x12K\n\x0crelay_sampl\
e\x18\x03\x20\x03(\x0b2(.CMsgSteamDatagramDataCenterState.ServerR\x0brel\
aySample\"\xcb\x04\n\x1dCMsgSteamDatagramRouterHealth\x12\x19\n\x08cpu_l\
oad\x18\x01\x20\x01(\x02R\x07cpuLoad\x12\x20\n\x0ccpu_load_raw\x18\n\x20\
\x01(\x02R\ncpuLoadRaw\x12'\n\x0factive_sessions\x18\x02\x20\x01(\rR\x0e\
activeSessions\x12\"\n\rdata_pkts_sec\x18\x03\x20\x01(\rR\x0bdataPktsSec\
\x12$\n\x0eother_pkts_sec\x18\x04\x20\x01(\rR\x0cotherPktsSec\x124\n\x16\
seconds_until_shutdown\x18\x05\x20\x01(\rR\x14secondsUntilShutdown\x12)\
\n\x11cpu_cost_per_user\x18\x08\x20\x01(\x02R\x0ecpuCostPerUser\x12-\n\
\x13cpu_cost_per_packet\x18\t\x20\x01(\x02R\x10cpuCostPerPacket\x12L\n\
\x0cdata_centers\x18\x06\x20\x03(\x0b2).CMsgSteamDatagramRouterHealth.Da\
taCenterR\x0bdataCenters\x12\x14\n\x05magic\x18\x07\x20\x01(\x06R\x05mag\
ic\x1a\x85\x01\n\nDataCenter\x12#\n\rdatacenter_id\x18\x01\x20\x01(\x07R\
\x0cdatacenterId\x12\x14\n\x05state\x18\x02\x20\x01(\rR\x05state\x12<\n\
\x07servers\x18\x03\x20\x03(\x0b2\".CMsgSteamDatagramGameServerSampleR\
\x07servers\"\xb9\x06\n1CMsgSteamDatagramConnectionStatsP2PRouterToRoute\
r\x12H\n\rquality_relay\x18\x01\x20\x01(\x0b2#.CMsgSteamDatagramConnecti\
onQualityR\x0cqualityRelay\x12D\n\x0bquality_e2e\x18\x02\x20\x01(\x0b2#.\
CMsgSteamDatagramConnectionQualityR\nqualityE2e\x12\x1b\n\tack_relay\x18\
\x03\x20\x03(\x07R\x08ackRelay\x12$\n\x0elegacy_ack_e2e\x18\x04\x20\x03(\
\x07R\x0clegacyAckE2e\x12\x14\n\x05flags\x18\x05\x20\x01(\rR\x05flags\
\x12=\n\x1back_forward_target_revision\x18\x06\x20\x01(\rR\x18ackForward\
TargetRevision\x12\x16\n\x06routes\x18\x07\x20\x01(\x0cR\x06routes\x127\
\n\x18ack_peer_routes_revision\x18\x08\x20\x01(\rR\x15ackPeerRoutesRevis\
ion\x12,\n\x12from_connection_id\x18\x15\x20\x01(\x07R\x10fromConnection\
Id\x12(\n\x10to_connection_id\x18\x18\x20\x01(\x07R\x0etoConnectionId\
\x121\n\x15from_relay_session_id\x18\x16\x20\x01(\x07R\x12fromRelaySessi\
onId\x12\"\n\rseq_num_nonce\x18\x1c\x20\x01(\rR\x0bseqNumNonce\x12-\n\
\x13to_relay_session_id\x18\x19\x20\x01(\x07R\x10toRelaySessionId\x12\
\x1e\n\x0bseq_num_r2r\x18\x1a\x20\x01(\rR\tseqNumR2r\x12\x1e\n\x0bseq_nu\
m_e2e\x18\x1b\x20\x01(\rR\tseqNumE2e\"m\n\x05Flags\x12\x15\n\x11ACK_REQU\
EST_RELAY\x10\x01\x12\x13\n\x0fACK_REQUEST_E2E\x10\x02\x12\x19\n\x15ACK_\
REQUEST_IMMEDIATE\x10\x04\x12\x1d\n\x19NOT_PRIMARY_TRANSPORT_E2E\x10\x10\
\"\x8f\x01\n6CMsgSteamDatagramNetworkNextRouterPingRequestExtraData\x12\
\x1b\n\tclient_id\x18\x03\x20\x01(\tR\x08clientId\x12\x15\n\x06app_id\
\x18\x04\x20\x01(\rR\x05appId\x12!\n\x0cprotocol_ver\x18\x05\x20\x01(\rR\
\x0bprotocolVer\"6\n4CMsgSteamDatagramNetworkNextRouterPingReplyExtraDat\
a*\xcc\n\n\x13ESteamDatagramMsgID\x12\x1f\n\x1bk_ESteamDatagramMsg_Inval\
id\x10\0\x12)\n%k_ESteamDatagramMsg_RouterPingRequest\x10\x01\x12'\n#k_E\
SteamDatagramMsg_RouterPingReply\x10\x02\x12-\n)k_ESteamDatagramMsg_Game\
serverPingRequest\x10\x03\x121\n-k_ESteamDatagramMsg_LegacyGameserverPin\
gReply\x10\x04\x120\n,k_ESteamDatagramMsg_GameserverSessionRequest\x10\
\x05\x124\n0k_ESteamDatagramMsg_GameserverSessionEstablished\x10\x06\x12\
!\n\x1dk_ESteamDatagramMsg_NoSession\x10\x07\x12\"\n\x1ek_ESteamDatagram\
Msg_Diagnostic\x10\x08\x12*\n&k_ESteamDatagramMsg_DataClientToRouter\x10\
\t\x12*\n&k_ESteamDatagramMsg_DataRouterToServer\x10\n\x12*\n&k_ESteamDa\
tagramMsg_DataServerToRouter\x10\x0b\x12*\n&k_ESteamDatagramMsg_DataRout\
erToClient\x10\x0c\x12\x1d\n\x19k_ESteamDatagramMsg_Stats\x10\r\x12/\n+k\
_ESteamDatagramMsg_ClientPingSampleRequest\x10\x0e\x12-\n)k_ESteamDatagr\
amMsg_ClientPingSampleReply\x10\x0f\x125\n1k_ESteamDatagramMsg_ClientToR\
outerSwitchedPrimary\x10\x10\x12#\n\x1fk_ESteamDatagramMsg_RelayHealth\
\x10\x11\x12&\n\"k_ESteamDatagramMsg_ConnectRequest\x10\x12\x12!\n\x1dk_\
ESteamDatagramMsg_ConnectOK\x10\x13\x12(\n$k_ESteamDatagramMsg_Connectio\
nClosed\x10\x14\x12$\n\x20k_ESteamDatagramMsg_NoConnection\x10\x15\x12/\
\n+k_ESteamDatagramMsg_RelayToRelayPingRequest\x10\x16\x12-\n)k_ESteamDa\
tagramMsg_RelayToRelayPingReply\x10\x17\x12)\n%k_ESteamDatagramMsg_P2PSe\
ssionRequest\x10\x18\x12-\n)k_ESteamDatagramMsg_P2PSessionEstablished\
\x10\x19\x12&\n\"k_ESteamDatagramMsg_P2PStatsClient\x10\x1a\x12%\n!k_ESt\
eamDatagramMsg_P2PStatsRelay\x10\x1b\x12#\n\x1fk_ESteamDatagramMsg_P2PBa\
dRoute\x10\x1c\x12+\n'k_ESteamDatagramMsg_GameserverPingReply\x10\x1d\
\x12.\n*k_ESteamDatagramMsg_GameserverRegistration\x10\x1eB\x05H\x01\x80\
\x01\0J\xad\xdd\x01\n\x07\x12\x05\0\0\xaf\x04\x01\n\t\n\x02\x03\0\x12\
\x03\0\05\n\t\n\x02\x03\x01\x12\x03\x01\0/\n\x08\n\x01\x08\x12\x03\x03\0\
\x1c\n\t\n\x02\x08\t\x12\x03\x03\0\x1c\n\x08\n\x01\x08\x12\x03\x04\0#\n\
\t\n\x02\x08\x10\x12\x03\x04\0#\n\n\n\x02\x05\0\x12\x04\x06\0&\x01\n\n\n\
\x03\x05\0\x01\x12\x03\x06\x05\x18\n\x0b\n\x04\x05\0\x02\0\x12\x03\x07\
\x08(\n\x0c\n\x05\x05\0\x02\0\x01\x12\x03\x07\x08#\n\x0c\n\x05\x05\0\x02\
\0\x02\x12\x03\x07&'\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x08\x082\n\x0c\n\
\x05\x05\0\x02\x01\x01\x12\x03\x08\x08-\n\x0c\n\x05\x05\0\x02\x01\x02\
\x12\x03\x0801\n\x0b\n\x04\x05\0\x02\x02\x12\x03\t\x080\n\x0c\n\x05\x05\
\0\x02\x02\x01\x12\x03\t\x08+\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\t./\
\n\x0b\n\x04\x05\0\x02\x03\x12\x03\n\x086\n\x0c\n\x05\x05\0\x02\x03\x01\
\x12\x03\n\x081\n\x0c\n\x05\x05\0\x02\x03\x02\x12\x03\n45\n\x0b\n\x04\
\x05\0\x02\x04\x12\x03\x0b\x08:\n\x0c\n\x05\x05\0\x02\x04\x01\x12\x03\
\x0b\x085\n\x0c\n\x05\x05\0\x02\x04\x02\x12\x03\x0b89\n\x0b\n\x04\x05\0\
\x02\x05\x12\x03\x0c\x089\n\x0c\n\x05\x05\0\x02\x05\x01\x12\x03\x0c\x084\
\n\x0c\n\x05\x05\0\x02\x05\x02\x12\x03\x0c78\n\x0b\n\x04\x05\0\x02\x06\
\x12\x03\r\x08=\n\x0c\n\x05\x05\0\x02\x06\x01\x12\x03\r\x088\n\x0c\n\x05\
\x05\0\x02\x06\x02\x12\x03\r;<\n\x0b\n\x04\x05\0\x02\x07\x12\x03\x0e\x08\
*\n\x0c\n\x05\x05\0\x02\x07\x01\x12\x03\x0e\x08%\n\x0c\n\x05\x05\0\x02\
\x07\x02\x12\x03\x0e()\n\x0b\n\x04\x05\0\x02\x08\x12\x03\x0f\x08+\n\x0c\
\n\x05\x05\0\x02\x08\x01\x12\x03\x0f\x08&\n\x0c\n\x05\x05\0\x02\x08\x02\
\x12\x03\x0f)*\n\x0b\n\x04\x05\0\x02\t\x12\x03\x10\x083\n\x0c\n\x05\x05\
\0\x02\t\x01\x12\x03\x10\x08.\n\x0c\n\x05\x05\0\x02\t\x02\x12\x03\x1012\
\n\x0b\n\x04\x05\0\x02\n\x12\x03\x11\x084\n\x0c\n\x05\x05\0\x02\n\x01\
\x12\x03\x11\x08.\n\x0c\n\x05\x05\0\x02\n\x02\x12\x03\x1113\n\x0b\n\x04\
\x05\0\x02\x0b\x12\x03\x12\x084\n\x0c\n\x05\x05\0\x02\x0b\x01\x12\x03\
\x12\x08.\n\x0c\n\x05\x05\0\x02\x0b\x02\x12\x03\x1213\n\x0b\n\x04\x05\0\
\x02\x0c\x12\x03\x13\x084\n\x0c\n\x05\x05\0\x02\x0c\x01\x12\x03\x13\x08.\
\n\x0c\n\x05\x05\0\x02\x0c\x02\x12\x03\x1313\n\x0b\n\x04\x05\0\x02\r\x12\
\x03\x14\x08'\n\x0c\n\x05\x05\0\x02\r\x01\x12\x03\x14\x08!\n\x0c\n\x05\
\x05\0\x02\r\x02\x12\x03\x14$&\n\x0b\n\x04\x05\0\x02\x0e\x12\x03\x15\x08\
9\n\x0c\n\x05\x05\0\x02\x0e\x01\x12\x03\x15\x083\n\x0c\n\x05\x05\0\x02\
\x0e\x02\x12\x03\x1568\n\x0b\n\x04\x05\0\x02\x0f\x12\x03\x16\x087\n\x0c\
\n\x05\x05\0\x02\x0f\x01\x12\x03\x16\x081\n\x0c\n\x05\x05\0\x02\x0f\x02\
\x12\x03\x1646\n\x0b\n\x04\x05\0\x02\x10\x12\x03\x17\x08?\n\x0c\n\x05\
\x05\0\x02\x10\x01\x12\x03\x17\x089\n\x0c\n\x05\x05\0\x02\x10\x02\x12\
\x03\x17<>\n\x0b\n\x04\x05\0\x02\x11\x12\x03\x18\x08-\n\x0c\n\x05\x05\0\
\x02\x11\x01\x12\x03\x18\x08'\n\x0c\n\x05\x05\0\x02\x11\x02\x12\x03\x18*\
,\n\x0b\n\x04\x05\0\x02\x12\x12\x03\x19\x080\n\x0c\n\x05\x05\0\x02\x12\
\x01\x12\x03\x19\x08*\n\x0c\n\x05\x05\0\x02\x12\x02\x12\x03\x19-/\n\x0b\
\n\x04\x05\0\x02\x13\x12\x03\x1a\x08+\n\x0c\n\x05\x05\0\x02\x13\x01\x12\
\x03\x1a\x08%\n\x0c\n\x05\x05\0\x02\x13\x02\x12\x03\x1a(*\n\x0b\n\x04\
\x05\0\x02\x14\x12\x03\x1b\x082\n\x0c\n\x05\x05\0\x02\x14\x01\x12\x03\
\x1b\x08,\n\x0c\n\x05\x05\0\x02\x14\x02\x12\x03\x1b/1\n\x0b\n\x04\x05\0\
\x02\x15\x12\x03\x1c\x08.\n\x0c\n\x05\x05\0\x02\x15\x01\x12\x03\x1c\x08(\
\n\x0c\n\x05\x05\0\x02\x15\x02\x12\x03\x1c+-\n\x0b\n\x04\x05\0\x02\x16\
\x12\x03\x1d\x089\n\x0c\n\x05\x05\0\x02\x16\x01\x12\x03\x1d\x083\n\x0c\n\
\x05\x05\0\x02\x16\x02\x12\x03\x1d68\n\x0b\n\x04\x05\0\x02\x17\x12\x03\
\x1e\x087\n\x0c\n\x05\x05\0\x02\x17\x01\x12\x03\x1e\x081\n\x0c\n\x05\x05\
\0\x02\x17\x02\x12\x03\x1e46\n\x0b\n\x04\x05\0\x02\x18\x12\x03\x1f\x083\
\n\x0c\n\x05\x05\0\x02\x18\x01\x12\x03\x1f\x08-\n\x0c\n\x05\x05\0\x02\
\x18\x02\x12\x03\x1f02\n\x0b\n\x04\x05\0\x02\x19\x12\x03\x20\x087\n\x0c\
\n\x05\x05\0\x02\x19\x01\x12\x03\x20\x081\n\x0c\n\x05\x05\0\x02\x19\x02\
\x12\x03\x2046\n\x0b\n\x04\x05\0\x02\x1a\x12\x03!\x080\n\x0c\n\x05\x05\0\
\x02\x1a\x01\x12\x03!\x08*\n\x0c\n\x05\x05\0\x02\x1a\x02\x12\x03!-/\n\
\x0b\n\x04\x05\0\x02\x1b\x12\x03\"\x08/\n\x0c\n\x05\x05\0\x02\x1b\x01\
\x12\x03\"\x08)\n\x0c\n\x05\x05\0\x02\x1b\x02\x12\x03\",.\n\x0b\n\x04\
\x05\0\x02\x1c\x12\x03#\x08-\n\x0c\n\x05\x05\0\x02\x1c\x01\x12\x03#\x08'\
\n\x0c\n\x05\x05\0\x02\x1c\x02\x12\x03#*,\n\x0b\n\x04\x05\0\x02\x1d\x12\
\x03$\x085\n\x0c\n\x05\x05\0\x02\x1d\x01\x12\x03$\x08/\n\x0c\n\x05\x05\0\
\x02\x1d\x02\x12\x03$24\n\x0b\n\x04\x05\0\x02\x1e\x12\x03%\x088\n\x0c\n\
\x05\x05\0\x02\x1e\x01\x12\x03%\x082\n\x0c\n\x05\x05\0\x02\x1e\x02\x12\
\x03%57\n\n\n\x02\x04\0\x12\x04(\0N\x01\n\n\n\x03\x04\0\x01\x12\x03(\x08\
(\n\x0c\n\x04\x04\0\x03\0\x12\x04)\x08-\t\n\x0c\n\x05\x04\0\x03\0\x01\
\x12\x03)\x10\x1e\n\r\n\x06\x04\0\x03\0\x02\0\x12\x03*\x104\n\x0e\n\x07\
\x04\0\x03\0\x02\0\x04\x12\x03*\x10\x18\n\x0e\n\x07\x04\0\x03\0\x02\0\
\x05\x12\x03*\x19\x20\n\x0e\n\x07\x04\0\x03\0\x02\0\x01\x12\x03*!/\n\x0e\
\n\x07\x04\0\x03\0\x02\0\x03\x12\x03*23\n\r\n\x06\x04\0\x03\0\x02\x01\
\x12\x03+\x10*\n\x0e\n\x07\x04\0\x03\0\x02\x01\x04\x12\x03+\x10\x18\n\
\x0e\n\x07\x04\0\x03\0\x02\x01\x05\x12\x03+\x19\x1f\n\x0e\n\x07\x04\0\
\x03\0\x02\x01\x01\x12\x03+\x20%\n\x0e\n\x07\x04\0\x03\0\x02\x01\x03\x12\
\x03+()\n\r\n\x06\x04\0\x03\0\x02\x02\x12\x03,\x10,\n\x0e\n\x07\x04\0\
\x03\0\x02\x02\x04\x12\x03,\x10\x18\n\x0e\n\x07\x04\0\x03\0\x02\x02\x05\
\x12\x03,\x19\x1f\n\x0e\n\x07\x04\0\x03\0\x02\x02\x01\x12\x03,\x20'\n\
\x0e\n\x07\x04\0\x03\0\x02\x02\x03\x12\x03,*+\n\x0c\n\x04\x04\0\x03\x01\
\x12\x04/\x08:\t\n\x0c\n\x05\x04\0\x03\x01\x01\x12\x03/\x10\x1a\n\x0e\n\
\x06\x04\0\x03\x01\x04\0\x12\x040\x103\x11\n\x0e\n\x07\x04\0\x03\x01\x04\
\0\x01\x12\x030\x15\x1d\n\x0f\n\x08\x04\0\x03\x01\x04\0\x02\0\x12\x031\
\x18,\n\x10\n\t\x04\0\x03\x01\x04\0\x02\0\x01\x12\x031\x18'\n\x10\n\t\
\x04\0\x03\x01\x04\0\x02\0\x02\x12\x031*+\n\x0f\n\x08\x04\0\x03\x01\x04\
\0\x02\x01\x12\x032\x18(\n\x10\n\t\x04\0\x03\x01\x04\0\x02\x01\x01\x12\
\x032\x18#\n\x10\n\t\x04\0\x03\x01\x04\0\x02\x01\x02\x12\x032&'\n\r\n\
\x06\x04\0\x03\x01\x02\0\x12\x035\x10*\n\x0e\n\x07\x04\0\x03\x01\x02\0\
\x04\x12\x035\x10\x18\n\x0e\n\x07\x04\0\x03\x01\x02\0\x05\x12\x035\x19\
\x20\n\x0e\n\x07\x04\0\x03\x01\x02\0\x01\x12\x035!%\n\x0e\n\x07\x04\0\
\x03\x01\x02\0\x03\x12\x035()\n\r\n\x06\x04\0\x03\x01\x02\x01\x12\x036\
\x10)\n\x0e\n\x07\x04\0\x03\x01\x02\x01\x04\x12\x036\x10\x18\n\x0e\n\x07\
\x04\0\x03\x01\x02\x01\x05\x12\x036\x19\x1f\n\x0e\n\x07\x04\0\x03\x01\
\x02\x01\x01\x12\x036\x20$\n\x0e\n\x07\x04\0\x03\x01\x02\x01\x03\x12\x03\
6'(\n\r\n\x06\x04\0\x03\x01\x02\x02\x12\x037\x10,\n\x0e\n\x07\x04\0\x03\
\x01\x02\x02\x04\x12\x037\x10\x18\n\x0e\n\x07\x04\0\x03\x01\x02\x02\x05\
\x12\x037\x19\x1f\n\x0e\n\x07\x04\0\x03\x01\x02\x02\x01\x12\x037\x20'\n\
\x0e\n\x07\x04\0\x03\x01\x02\x02\x03\x12\x037*+\n\r\n\x06\x04\0\x03\x01\
\x02\x03\x12\x038\x10x\n\x0e\n\x07\x04\0\x03\x01\x02\x03\x04\x12\x038\
\x10\x18\n\x0e\n\x07\x04\0\x03\x01\x02\x03\x06\x12\x038\x19N\n\x0e\n\x07\
\x04\0\x03\x01\x02\x03\x01\x12\x038OW\n\x0e\n\x07\x04\0\x03\x01\x02\x03\
\x03\x12\x038Z[\n\x0e\n\x07\x04\0\x03\x01\x02\x03\x08\x12\x038\\w\n\x0e\
\n\x07\x04\0\x03\x01\x02\x03\x07\x12\x038gv\n\r\n\x06\x04\0\x03\x01\x02\
\x04\x12\x039\x10'\n\x0e\n\x07\x04\0\x03\x01\x02\x04\x04\x12\x039\x10\
\x18\n\x0e\n\x07\x04\0\x03\x01\x02\x04\x05\x12\x039\x19\x1f\n\x0e\n\x07\
\x04\0\x03\x01\x02\x04\x01\x12\x039\x20\"\n\x0e\n\x07\x04\0\x03\x01\x02\
\x04\x03\x12\x039%&\n\x0c\n\x04\x04\0\x04\0\x12\x04<\x08?\t\n\x0c\n\x05\
\x04\0\x04\0\x01\x12\x03<\r\x12\n\r\n\x06\x04\0\x04\0\x02\0\x12\x03=\x10\
1\n\x0e\n\x07\x04\0\x04\0\x02\0\x01\x12\x03=\x10,\n\x0e\n\x07\x04\0\x04\
\0\x02\0\x02\x12\x03=/0\n\r\n\x06\x04\0\x04\0\x02\x01\x12\x03>\x102\n\
\x0e\n\x07\x04\0\x04\0\x02\x01\x01\x12\x03>\x10-\n\x0e\n\x07\x04\0\x04\0\
\x02\x01\x02\x12\x03>01\n\x0b\n\x04\x04\0\x02\0\x12\x03A\x08.\n\x0c\n\
\x05\x04\0\x02\0\x04\x12\x03A\x08\x10\n\x0c\n\x05\x04\0\x02\0\x05\x12\
\x03A\x11\x18\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03A\x19)\n\x0c\n\x05\x04\
\0\x02\0\x03\x12\x03A,-\n\x0b\n\x04\x04\0\x02\x01\x12\x03B\x08D\n\x0c\n\
\x05\x04\0\x02\x01\x04\x12\x03B\x08\x10\n\x0c\n\x05\x04\0\x02\x01\x05\
\x12\x03B\x11\x18\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03B\x19/\n\x0c\n\
\x05\x04\0\x02\x01\x03\x12\x03B23\n\x0c\n\x05\x04\0\x02\x01\x08\x12\x03B\
4C\n\r\n\x06\x04\0\x02\x01\x08\x02\x12\x03B5B\n\x0b\n\x04\x04\0\x02\x02\
\x12\x03C\x08<\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03C\x08\x10\n\x0c\n\
\x05\x04\0\x02\x02\x05\x12\x03C\x11\x17\n\x0c\n\x05\x04\0\x02\x02\x01\
\x12\x03C\x18'\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03C*+\n\x0c\n\x05\x04\
\0\x02\x02\x08\x12\x03C,;\n\r\n\x06\x04\0\x02\x02\x08\x02\x12\x03C-:\n\
\x0b\n\x04\x04\0\x02\x03\x12\x03D\x08,\n\x0c\n\x05\x04\0\x02\x03\x04\x12\
\x03D\x08\x10\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03D\x11\x18\n\x0c\n\x05\
\x04\0\x02\x03\x01\x12\x03D\x19'\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03D*\
+\n\x0b\n\x04\x04\0\x02\x04\x12\x03E\x08/\n\x0c\n\x05\x04\0\x02\x04\x04\
\x12\x03E\x08\x10\n\x0c\n\x05\x04\0\x02\x04\x05\x12\x03E\x11\x18\n\x0c\n\
\x05\x04\0\x02\x04\x01\x12\x03E\x19)\n\x0c\n\x05\x04\0\x02\x04\x03\x12\
\x03E,.\n\x0b\n\x04\x04\0\x02\x05\x12\x03F\x08)\n\x0c\n\x05\x04\0\x02\
\x05\x04\x12\x03F\x08\x10\n\x0c\n\x05\x04\0\x02\x05\x05\x12\x03F\x11\x18\
\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03F\x19$\n\x0c\n\x05\x04\0\x02\x05\
\x03\x12\x03F'(\n\x0b\n\x04\x04\0\x02\x06\x12\x03G\x08'\n\x0c\n\x05\x04\
\0\x02\x06\x04\x12\x03G\x08\x10\n\x0c\n\x05\x04\0\x02\x06\x05\x12\x03G\
\x11\x18\n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03G\x19\"\n\x0c\n\x05\x04\0\
\x02\x06\x03\x12\x03G%&\n\x0b\n\x04\x04\0\x02\x07\x12\x03H\x083\n\x0c\n\
\x05\x04\0\x02\x07\x04\x12\x03H\x08\x10\n\x0c\n\x05\x04\0\x02\x07\x05\
\x12\x03H\x11\x17\n\x0c\n\x05\x04\0\x02\x07\x01\x12\x03H\x18.\n\x0c\n\
\x05\x04\0\x02\x07\x03\x12\x03H12\n\x0b\n\x04\x04\0\x02\x08\x12\x03I\x08\
+\n\x0c\n\x05\x04\0\x02\x08\x04\x12\x03I\x08\x10\n\x0c\n\x05\x04\0\x02\
\x08\x05\x12\x03I\x11\x18\n\x0c\n\x05\x04\0\x02\x08\x01\x12\x03I\x19&\n\
\x0c\n\x05\x04\0\x02\x08\x03\x12\x03I)*\n\x0b\n\x04\x04\0\x02\t\x12\x03J\
\x08:\n\x0c\n\x05\x04\0\x02\t\x04\x12\x03J\x08\x10\n\x0c\n\x05\x04\0\x02\
\t\x05\x12\x03J\x11\x17\n\x0c\n\x05\x04\0\x02\t\x01\x12\x03J\x185\n\x0c\
\n\x05\x04\0\x02\t\x03\x12\x03J89\n\x0b\n\x04\x04\0\x02\n\x12\x03K\x08#\
\n\x0c\n\x05\x04\0\x02\n\x04\x12\x03K\x08\x10\n\x0c\n\x05\x04\0\x02\n\
\x05\x12\x03K\x11\x17\n\x0c\n\x05\x04\0\x02\n\x01\x12\x03K\x18\x1d\n\x0c\
\n\x05\x04\0\x02\n\x03\x12\x03K\x20\"\n\x0b\n\x04\x04\0\x02\x0b\x12\x03L\
\x08X\n\x0c\n\x05\x04\0\x02\x0b\x04\x12\x03L\x08\x10\n\x0c\n\x05\x04\0\
\x02\x0b\x06\x12\x03L\x11A\n\x0c\n\x05\x04\0\x02\x0b\x01\x12\x03LBR\n\
\x0c\n\x05\x04\0\x02\x0b\x03\x12\x03LUW\n\x0b\n\x04\x04\0\x02\x0c\x12\
\x03M\x08Q\n\x0c\n\x05\x04\0\x02\x0c\x04\x12\x03M\x08\x10\n\x0c\n\x05\
\x04\0\x02\x0c\x06\x12\x03M\x11=\n\x0c\n\x05\x04\0\x02\x0c\x01\x12\x03M>\
K\n\x0c\n\x05\x04\0\x02\x0c\x03\x12\x03MNP\n\n\n\x02\x04\x01\x12\x04P\0V\
\x01\n\n\n\x03\x04\x01\x01\x12\x03P\x08.\n\x0b\n\x04\x04\x01\x02\0\x12\
\x03Q\x08,\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03Q\x08\x10\n\x0c\n\x05\
\x04\x01\x02\0\x05\x12\x03Q\x11\x18\n\x0c\n\x05\x04\x01\x02\0\x01\x12\
\x03Q\x19'\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03Q*+\n\x0b\n\x04\x04\x01\
\x02\x01\x12\x03R\x08.\n\x0c\n\x05\x04\x01\x02\x01\x04\x12\x03R\x08\x10\
\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03R\x11\x18\n\x0c\n\x05\x04\x01\
\x02\x01\x01\x12\x03R\x19)\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03R,-\n\
\x0b\n\x04\x04\x01\x02\x02\x12\x03S\x08)\n\x0c\n\x05\x04\x01\x02\x02\x04\
\x12\x03S\x08\x10\n\x0c\n\x05\x04\x01\x02\x02\x05\x12\x03S\x11\x18\n\x0c\
\n\x05\x04\x01\x02\x02\x01\x12\x03S\x19$\n\x0c\n\x05\x04\x01\x02\x02\x03\
\x12\x03S'(\n\x0b\n\x04\x04\x01\x02\x03\x12\x03T\x08'\n\x0c\n\x05\x04\
\x01\x02\x03\x04\x12\x03T\x08\x10\n\x0c\n\x05\x04\x01\x02\x03\x05\x12\
\x03T\x11\x18\n\x0c\n\x05\x04\x01\x02\x03\x01\x12\x03T\x19\"\n\x0c\n\x05\
\x04\x01\x02\x03\x03\x12\x03T%&\n\x0b\n\x04\x04\x01\x02\x04\x12\x03U\x08\
.\n\x0c\n\x05\x04\x01\x02\x04\x04\x12\x03U\x08\x10\n\x0c\n\x05\x04\x01\
\x02\x04\x05\x12\x03U\x11\x18\n\x0c\n\x05\x04\x01\x02\x04\x01\x12\x03U\
\x19)\n\x0c\n\x05\x04\x01\x02\x04\x03\x12\x03U,-\n\n\n\x02\x04\x02\x12\
\x04X\0[\x01\n\n\n\x03\x04\x02\x01\x12\x03X\x082\n\x0b\n\x04\x04\x02\x02\
\0\x12\x03Y\x08.\n\x0c\n\x05\x04\x02\x02\0\x04\x12\x03Y\x08\x10\n\x0c\n\
\x05\x04\x02\x02\0\x05\x12\x03Y\x11\x18\n\x0c\n\x05\x04\x02\x02\0\x01\
\x12\x03Y\x19)\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03Y,-\n\x0b\n\x04\x04\
\x02\x02\x01\x12\x03Z\x08(\n\x0c\n\x05\x04\x02\x02\x01\x04\x12\x03Z\x08\
\x10\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03Z\x11\x18\n\x0c\n\x05\x04\
\x02\x02\x01\x01\x12\x03Z\x19\"\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03Z\
%'\n\n\n\x02\x04\x03\x12\x04]\0i\x01\n\n\n\x03\x04\x03\x01\x12\x03]\x08,\
\n\x0c\n\x04\x04\x03\x03\0\x12\x04^\x08d\t\n\x0c\n\x05\x04\x03\x03\0\x01\
\x12\x03^\x10\x1a\n\r\n\x06\x04\x03\x03\0\x02\0\x12\x03_\x104\n\x0e\n\
\x07\x04\x03\x03\0\x02\0\x04\x12\x03_\x10\x18\n\x0e\n\x07\x04\x03\x03\0\
\x02\0\x05\x12\x03_\x19\x20\n\x0e\n\x07\x04\x03\x03\0\x02\0\x01\x12\x03_\
!/\n\x0e\n\x07\x04\x03\x03\0\x02\0\x03\x12\x03_23\n\r\n\x06\x04\x03\x03\
\0\x02\x01\x12\x03`\x10/\n\x0e\n\x07\x04\x03\x03\0\x02\x01\x04\x12\x03`\
\x10\x18\n\x0e\n\x07\x04\x03\x03\0\x02\x01\x05\x12\x03`\x19\x20\n\x0e\n\
\x07\x04\x03\x03\0\x02\x01\x01\x12\x03`!*\n\x0e\n\x07\x04\x03\x03\0\x02\
\x01\x03\x12\x03`-.\n\r\n\x06\x04\x03\x03\0\x02\x02\x12\x03a\x106\n\x0e\
\n\x07\x04\x03\x03\0\x02\x02\x04\x12\x03a\x10\x18\n\x0e\n\x07\x04\x03\
\x03\0\x02\x02\x05\x12\x03a\x19\x20\n\x0e\n\x07\x04\x03\x03\0\x02\x02\
\x01\x12\x03a!1\n\x0e\n\x07\x04\x03\x03\0\x02\x02\x03\x12\x03a45\n\r\n\
\x06\x04\x03\x03\0\x02\x03\x12\x03b\x104\n\x0e\n\x07\x04\x03\x03\0\x02\
\x03\x04\x12\x03b\x10\x18\n\x0e\n\x07\x04\x03\x03\0\x02\x03\x05\x12\x03b\
\x19\x20\n\x0e\n\x07\x04\x03\x03\0\x02\x03\x01\x12\x03b!/\n\x0e\n\x07\
\x04\x03\x03\0\x02\x03\x03\x12\x03b23\n\r\n\x06\x04\x03\x03\0\x02\x04\
\x12\x03c\x10*\n\x0e\n\x07\x04\x03\x03\0\x02\x04\x04\x12\x03c\x10\x18\n\
\x0e\n\x07\x04\x03\x03\0\x02\x04\x05\x12\x03c\x19\x1f\n\x0e\n\x07\x04\
\x03\x03\0\x02\x04\x01\x12\x03c\x20%\n\x0e\n\x07\x04\x03\x03\0\x02\x04\
\x03\x12\x03c()\n\x0b\n\x04\x04\x03\x02\0\x12\x03f\x08>\n\x0c\n\x05\x04\
\x03\x02\0\x04\x12\x03f\x08\x10\n\x0c\n\x05\x04\x03\x02\0\x06\x12\x03f\
\x114\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03f59\n\x0c\n\x05\x04\x03\x02\0\
\x03\x12\x03f<=\n\x0b\n\x04\x04\x03\x02\x01\x12\x03g\x08'\n\x0c\n\x05\
\x04\x03\x02\x01\x04\x12\x03g\x08\x10\n\x0c\n\x05\x04\x03\x02\x01\x05\
\x12\x03g\x11\x16\n\x0c\n\x05\x04\x03\x02\x01\x01\x12\x03g\x17\"\n\x0c\n\
\x05\x04\x03\x02\x01\x03\x12\x03g%&\n\x0b\n\x04\x04\x03\x02\x02\x12\x03h\
\x08%\n\x0c\n\x05\x04\x03\x02\x02\x04\x12\x03h\x08\x10\n\x0c\n\x05\x04\
\x03\x02\x02\x05\x12\x03h\x11\x16\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\
\x03h\x17\x20\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03h#$\n\n\n\x02\x04\
\x04\x12\x04k\0r\x01\n\n\n\x03\x04\x04\x01\x12\x03k\x08/\n\x0b\n\x04\x04\
\x04\x02\0\x12\x03l\x08+\n\x0c\n\x05\x04\x04\x02\0\x04\x12\x03l\x08\x10\
\n\x0c\n\x05\x04\x04\x02\0\x05\x12\x03l\x11\x18\n\x0c\n\x05\x04\x04\x02\
\0\x01\x12\x03l\x19&\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03l)*\n\x0b\n\
\x04\x04\x04\x02\x01\x12\x03m\x08,\n\x0c\n\x05\x04\x04\x02\x01\x04\x12\
\x03m\x08\x10\n\x0c\n\x05\x04\x04\x02\x01\x05\x12\x03m\x11\x18\n\x0c\n\
\x05\x04\x04\x02\x01\x01\x12\x03m\x19'\n\x0c\n\x05\x04\x04\x02\x01\x03\
\x12\x03m*+\n\x0b\n\x04\x04\x04\x02\x02\x12\x03n\x08.\n\x0c\n\x05\x04\
\x04\x02\x02\x04\x12\x03n\x08\x10\n\x0c\n\x05\x04\x04\x02\x02\x05\x12\
\x03n\x11\x18\n\x0c\n\x05\x04\x04\x02\x02\x01\x12\x03n\x19)\n\x0c\n\x05\
\x04\x04\x02\x02\x03\x12\x03n,-\n\x0b\n\x04\x04\x04\x02\x03\x12\x03o\x08\
)\n\x0c\n\x05\x04\x04\x02\x03\x04\x12\x03o\x08\x10\n\x0c\n\x05\x04\x04\
\x02\x03\x05\x12\x03o\x11\x18\n\x0c\n\x05\x04\x04\x02\x03\x01\x12\x03o\
\x19$\n\x0c\n\x05\x04\x04\x02\x03\x03\x12\x03o'(\n\x0b\n\x04\x04\x04\x02\
\x04\x12\x03p\x08'\n\x0c\n\x05\x04\x04\x02\x04\x04\x12\x03p\x08\x10\n\
\x0c\n\x05\x04\x04\x02\x04\x05\x12\x03p\x11\x18\n\x0c\n\x05\x04\x04\x02\
\x04\x01\x12\x03p\x19\"\n\x0c\n\x05\x04\x04\x02\x04\x03\x12\x03p%&\n\x0b\
\n\x04\x04\x04\x02\x05\x12\x03q\x083\n\x0c\n\x05\x04\x04\x02\x05\x04\x12\
\x03q\x08\x10\n\x0c\n\x05\x04\x04\x02\x05\x05\x12\x03q\x11\x17\n\x0c\n\
\x05\x04\x04\x02\x05\x01\x12\x03q\x18.\n\x0c\n\x05\x04\x04\x02\x05\x03\
\x12\x03q12\n\n\n\x02\x04\x05\x12\x04t\0y\x01\n\n\n\x03\x04\x05\x01\x12\
\x03t\x08-\n\x0b\n\x04\x04\x05\x02\0\x12\x03u\x084\n\x0c\n\x05\x04\x05\
\x02\0\x04\x12\x03u\x08\x10\n\x0c\n\x05\x04\x05\x02\0\x05\x12\x03u\x11\
\x17\n\x0c\n\x05\x04\x05\x02\0\x01\x12\x03u\x18/\n\x0c\n\x05\x04\x05\x02\
\0\x03\x12\x03u23\n\x0b\n\x04\x04\x05\x02\x01\x12\x03v\x083\n\x0c\n\x05\
\x04\x05\x02\x01\x04\x12\x03v\x08\x10\n\x0c\n\x05\x04\x05\x02\x01\x05\
\x12\x03v\x11\x18\n\x0c\n\x05\x04\x05\x02\x01\x01\x12\x03v\x19.\n\x0c\n\
\x05\x04\x05\x02\x01\x03\x12\x03v12\n\x0b\n\x04\x04\x05\x02\x02\x12\x03w\
\x080\n\x0c\n\x05\x04\x05\x02\x02\x04\x12\x03w\x08\x10\n\x0c\n\x05\x04\
\x05\x02\x02\x05\x12\x03w\x11\x18\n\x0c\n\x05\x04\x05\x02\x02\x01\x12\
\x03w\x19+\n\x0c\n\x05\x04\x05\x02\x02\x03\x12\x03w./\n\x0b\n\x04\x04\
\x05\x02\x03\x12\x03x\x08)\n\x0c\n\x05\x04\x05\x02\x03\x04\x12\x03x\x08\
\x10\n\x0c\n\x05\x04\x05\x02\x03\x05\x12\x03x\x11\x18\n\x0c\n\x05\x04\
\x05\x02\x03\x01\x12\x03x\x19#\n\x0c\n\x05\x04\x05\x02\x03\x03\x12\x03x&\
(\n\n\n\x02\x04\x06\x12\x04{\0}\x01\n\n\n\x03\x04\x06\x01\x12\x03{\x080\
\n\x0b\n\x04\x04\x06\x02\0\x12\x03|\x08+\n\x0c\n\x05\x04\x06\x02\0\x04\
\x12\x03|\x08\x10\n\x0c\n\x05\x04\x06\x02\0\x05\x12\x03|\x11\x18\n\x0c\n\
\x05\x04\x06\x02\0\x01\x12\x03|\x19&\n\x0c\n\x05\x04\x06\x02\0\x03\x12\
\x03|)*\n\x0b\n\x02\x04\x07\x12\x05\x7f\0\xa3\x01\x01\n\n\n\x03\x04\x07\
\x01\x12\x03\x7f\x08.\n\x0e\n\x04\x04\x07\x03\0\x12\x06\x80\x01\x08\x97\
\x01\t\n\r\n\x05\x04\x07\x03\0\x01\x12\x04\x80\x01\x10\x13\n\x10\n\x06\
\x04\x07\x03\0\x03\0\x12\x06\x81\x01\x10\x85\x01\x11\n\x0f\n\x07\x04\x07\
\x03\0\x03\0\x01\x12\x04\x81\x01\x18\"\n\x10\n\x08\x04\x07\x03\0\x03\0\
\x02\0\x12\x04\x82\x01\x18/\n\x11\n\t\x04\x07\x03\0\x03\0\x02\0\x04\x12\
\x04\x82\x01\x18\x20\n\x11\n\t\x04\x07\x03\0\x03\0\x02\0\x05\x12\x04\x82\
\x01!'\n\x11\n\t\x04\x07\x03\0\x03\0\x02\0\x01\x12\x04\x82\x01(*\n\x11\n\
\t\x04\x07\x03\0\x03\0\x02\0\x03\x12\x04\x82\x01-.\n\x10\n\x08\x04\x07\
\x03\0\x03\0\x02\x01\x12\x04\x83\x01\x18:\n\x11\n\t\x04\x07\x03\0\x03\0\
\x02\x01\x04\x12\x04\x83\x01\x18\x20\n\x11\n\t\x04\x07\x03\0\x03\0\x02\
\x01\x05\x12\x04\x83\x01!'\n\x11\n\t\x04\x07\x03\0\x03\0\x02\x01\x01\x12\
\x04\x83\x01(5\n\x11\n\t\x04\x07\x03\0\x03\0\x02\x01\x03\x12\x04\x83\x01\
89\n\x10\n\x08\x04\x07\x03\0\x03\0\x02\x02\x12\x04\x84\x01\x184\n\x11\n\
\t\x04\x07\x03\0\x03\0\x02\x02\x04\x12\x04\x84\x01\x18\x20\n\x11\n\t\x04\
\x07\x03\0\x03\0\x02\x02\x05\x12\x04\x84\x01!'\n\x11\n\t\x04\x07\x03\0\
\x03\0\x02\x02\x01\x12\x04\x84\x01(/\n\x11\n\t\x04\x07\x03\0\x03\0\x02\
\x02\x03\x12\x04\x84\x0123\n\x0e\n\x06\x04\x07\x03\0\x02\0\x12\x04\x87\
\x01\x10,\n\x0f\n\x07\x04\x07\x03\0\x02\0\x04\x12\x04\x87\x01\x10\x18\n\
\x0f\n\x07\x04\x07\x03\0\x02\0\x05\x12\x04\x87\x01\x19\x20\n\x0f\n\x07\
\x04\x07\x03\0\x02\0\x01\x12\x04\x87\x01!'\n\x0f\n\x07\x04\x07\x03\0\x02\
\0\x03\x12\x04\x87\x01*+\n\x0e\n\x06\x04\x07\x03\0\x02\x01\x12\x04\x88\
\x01\x10:\n\x0f\n\x07\x04\x07\x03\0\x02\x01\x04\x12\x04\x88\x01\x10\x18\
\n\x0f\n\x07\x04\x07\x03\0\x02\x01\x05\x12\x04\x88\x01\x19\x1f\n\x0f\n\
\x07\x04\x07\x03\0\x02\x01\x01\x12\x04\x88\x01\x205\n\x0f\n\x07\x04\x07\
\x03\0\x02\x01\x03\x12\x04\x88\x0189\n\x0e\n\x06\x04\x07\x03\0\x02\x02\
\x12\x04\x89\x01\x104\n\x0f\n\x07\x04\x07\x03\0\x02\x02\x04\x12\x04\x89\
\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\0\x02\x02\x05\x12\x04\x89\x01\x19\
\x1f\n\x0f\n\x07\x04\x07\x03\0\x02\x02\x01\x12\x04\x89\x01\x20/\n\x0f\n\
\x07\x04\x07\x03\0\x02\x02\x03\x12\x04\x89\x0123\n\x0e\n\x06\x04\x07\x03\
\0\x02\x03\x12\x04\x8a\x01\x10b\n\x0f\n\x07\x04\x07\x03\0\x02\x03\x04\
\x12\x04\x8a\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\0\x02\x03\x06\x12\x04\
\x8a\x01\x19O\n\x0f\n\x07\x04\x07\x03\0\x02\x03\x01\x12\x04\x8a\x01P]\n\
\x0f\n\x07\x04\x07\x03\0\x02\x03\x03\x12\x04\x8a\x01`a\n\x0e\n\x06\x04\
\x07\x03\0\x02\x04\x12\x04\x8b\x01\x108\n\x0f\n\x07\x04\x07\x03\0\x02\
\x04\x04\x12\x04\x8b\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\0\x02\x04\x05\
\x12\x04\x8b\x01\x19\x1f\n\x0f\n\x07\x04\x07\x03\0\x02\x04\x01\x12\x04\
\x8b\x01\x203\n\x0f\n\x07\x04\x07\x03\0\x02\x04\x03\x12\x04\x8b\x0167\n\
\x0e\n\x06\x04\x07\x03\0\x02\x05\x12\x04\x8c\x01\x106\n\x0f\n\x07\x04\
\x07\x03\0\x02\x05\x04\x12\x04\x8c\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\0\
\x02\x05\x05\x12\x04\x8c\x01\x19\x1f\n\x0f\n\x07\x04\x07\x03\0\x02\x05\
\x01\x12\x04\x8c\x01\x201\n\x0f\n\x07\x04\x07\x03\0\x02\x05\x03\x12\x04\
\x8c\x0145\n\x0e\n\x06\x04\x07\x03\0\x02\x06\x12\x04\x8d\x01\x10?\n\x0f\
\n\x07\x04\x07\x03\0\x02\x06\x04\x12\x04\x8d\x01\x10\x18\n\x0f\n\x07\x04\
\x07\x03\0\x02\x06\x05\x12\x04\x8d\x01\x19\x20\n\x0f\n\x07\x04\x07\x03\0\
\x02\x06\x01\x12\x04\x8d\x01!:\n\x0f\n\x07\x04\x07\x03\0\x02\x06\x03\x12\
\x04\x8d\x01=>\n\x0e\n\x06\x04\x07\x03\0\x02\x07\x12\x04\x8e\x01\x104\n\
\x0f\n\x07\x04\x07\x03\0\x02\x07\x04\x12\x04\x8e\x01\x10\x18\n\x0f\n\x07\
\x04\x07\x03\0\x02\x07\x05\x12\x04\x8e\x01\x19\x1f\n\x0f\n\x07\x04\x07\
\x03\0\x02\x07\x01\x12\x04\x8e\x01\x20/\n\x0f\n\x07\x04\x07\x03\0\x02\
\x07\x03\x12\x04\x8e\x0123\n\x0e\n\x06\x04\x07\x03\0\x02\x08\x12\x04\x8f\
\x01\x103\n\x0f\n\x07\x04\x07\x03\0\x02\x08\x04\x12\x04\x8f\x01\x10\x18\
\n\x0f\n\x07\x04\x07\x03\0\x02\x08\x05\x12\x04\x8f\x01\x19\x1f\n\x0f\n\
\x07\x04\x07\x03\0\x02\x08\x01\x12\x04\x8f\x01\x20-\n\x0f\n\x07\x04\x07\
\x03\0\x02\x08\x03\x12\x04\x8f\x0102\n\x0e\n\x06\x04\x07\x03\0\x02\t\x12\
\x04\x90\x01\x10?\n\x0f\n\x07\x04\x07\x03\0\x02\t\x04\x12\x04\x90\x01\
\x10\x18\n\x0f\n\x07\x04\x07\x03\0\x02\t\x05\x12\x04\x90\x01\x19\x20\n\
\x0f\n\x07\x04\x07\x03\0\x02\t\x01\x12\x04\x90\x01!9\n\x0f\n\x07\x04\x07\
\x03\0\x02\t\x03\x12\x04\x90\x01<>\n\x0e\n\x06\x04\x07\x03\0\x02\n\x12\
\x04\x91\x01\x108\n\x0f\n\x07\x04\x07\x03\0\x02\n\x04\x12\x04\x91\x01\
\x10\x18\n\x0f\n\x07\x04\x07\x03\0\x02\n\x05\x12\x04\x91\x01\x19\x1f\n\
\x0f\n\x07\x04\x07\x03\0\x02\n\x01\x12\x04\x91\x01\x202\n\x0f\n\x07\x04\
\x07\x03\0\x02\n\x03\x12\x04\x91\x0157\n\x0e\n\x06\x04\x07\x03\0\x02\x0b\
\x12\x04\x92\x01\x106\n\x0f\n\x07\x04\x07\x03\0\x02\x0b\x04\x12\x04\x92\
\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\0\x02\x0b\x05\x12\x04\x92\x01\x19\
\x1f\n\x0f\n\x07\x04\x07\x03\0\x02\x0b\x01\x12\x04\x92\x01\x200\n\x0f\n\
\x07\x04\x07\x03\0\x02\x0b\x03\x12\x04\x92\x0135\n\x0e\n\x06\x04\x07\x03\
\0\x02\x0c\x12\x04\x93\x01\x10B\n\x0f\n\x07\x04\x07\x03\0\x02\x0c\x04\
\x12\x04\x93\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\0\x02\x0c\x05\x12\x04\
\x93\x01\x19\x20\n\x0f\n\x07\x04\x07\x03\0\x02\x0c\x01\x12\x04\x93\x01!<\
\n\x0f\n\x07\x04\x07\x03\0\x02\x0c\x03\x12\x04\x93\x01?A\n\x0e\n\x06\x04\
\x07\x03\0\x02\r\x12\x04\x94\x01\x105\n\x0f\n\x07\x04\x07\x03\0\x02\r\
\x04\x12\x04\x94\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\0\x02\r\x05\x12\x04\
\x94\x01\x19\x1f\n\x0f\n\x07\x04\x07\x03\0\x02\r\x01\x12\x04\x94\x01\x20\
/\n\x0f\n\x07\x04\x07\x03\0\x02\r\x03\x12\x04\x94\x0124\n\x0e\n\x06\x04\
\x07\x03\0\x02\x0e\x12\x04\x95\x01\x103\n\x0f\n\x07\x04\x07\x03\0\x02\
\x0e\x04\x12\x04\x95\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\0\x02\x0e\x05\
\x12\x04\x95\x01\x19\x1f\n\x0f\n\x07\x04\x07\x03\0\x02\x0e\x01\x12\x04\
\x95\x01\x20-\n\x0f\n\x07\x04\x07\x03\0\x02\x0e\x03\x12\x04\x95\x0102\n\
\x0e\n\x06\x04\x07\x03\0\x02\x0f\x12\x04\x96\x01\x10?\n\x0f\n\x07\x04\
\x07\x03\0\x02\x0f\x04\x12\x04\x96\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\0\
\x02\x0f\x05\x12\x04\x96\x01\x19\x20\n\x0f\n\x07\x04\x07\x03\0\x02\x0f\
\x01\x12\x04\x96\x01!9\n\x0f\n\x07\x04\x07\x03\0\x02\x0f\x03\x12\x04\x96\
\x01<>\n\x0e\n\x04\x04\x07\x03\x01\x12\x06\x99\x01\x08\x9d\x01\t\n\r\n\
\x05\x04\x07\x03\x01\x01\x12\x04\x99\x01\x10\x20\n\x0e\n\x06\x04\x07\x03\
\x01\x02\0\x12\x04\x9a\x01\x104\n\x0f\n\x07\x04\x07\x03\x01\x02\0\x04\
\x12\x04\x9a\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\x01\x02\0\x05\x12\x04\
\x9a\x01\x19\x20\n\x0f\n\x07\x04\x07\x03\x01\x02\0\x01\x12\x04\x9a\x01!/\
\n\x0f\n\x07\x04\x07\x03\x01\x02\0\x03\x12\x04\x9a\x0123\n\x0e\n\x06\x04\
\x07\x03\x01\x02\x01\x12\x04\x9b\x01\x10>\n\x0f\n\x07\x04\x07\x03\x01\
\x02\x01\x04\x12\x04\x9b\x01\x10\x18\n\x0f\n\x07\x04\x07\x03\x01\x02\x01\
\x05\x12\x04\x9b\x01\x19\x20\n\x0f\n\x07\x04\x07\x03\x01\x02\x01\x01\x12\
\x04\x9b\x01!9\n\x0f\n\x07\x04\x07\x03\x01\x02\x01\x03\x12\x04\x9b\x01<=\
\n\x0e\n\x06\x04\x07\x03\x01\x02\x02\x12\x04\x9c\x01\x104\n\x0f\n\x07\
\x04\x07\x03\x01\x02\x02\x04\x12\x04\x9c\x01\x10\x18\n\x0f\n\x07\x04\x07\
\x03\x01\x02\x02\x05\x12\x04\x9c\x01\x19\x1f\n\x0f\n\x07\x04\x07\x03\x01\
\x02\x02\x01\x12\x04\x9c\x01\x20/\n\x0f\n\x07\x04\x07\x03\x01\x02\x02\
\x03\x12\x04\x9c\x0123\n\x0c\n\x04\x04\x07\x02\0\x12\x04\x9f\x01\x08+\n\
\r\n\x05\x04\x07\x02\0\x04\x12\x04\x9f\x01\x08\x10\n\r\n\x05\x04\x07\x02\
\0\x05\x12\x04\x9f\x01\x11\x18\n\r\n\x05\x04\x07\x02\0\x01\x12\x04\x9f\
\x01\x19&\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\x9f\x01)*\n\x0c\n\x04\x04\
\x07\x02\x01\x12\x04\xa0\x01\x08*\n\r\n\x05\x04\x07\x02\x01\x04\x12\x04\
\xa0\x01\x08\x10\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\xa0\x01\x11\x15\n\
\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xa0\x01\x16%\n\r\n\x05\x04\x07\x02\
\x01\x03\x12\x04\xa0\x01()\n\x0c\n\x04\x04\x07\x02\x02\x12\x04\xa1\x01\
\x08F\n\r\n\x05\x04\x07\x02\x02\x04\x12\x04\xa1\x01\x08\x10\n\r\n\x05\
\x04\x07\x02\x02\x06\x12\x04\xa1\x01\x11<\n\r\n\x05\x04\x07\x02\x02\x01\
\x12\x04\xa1\x01=A\n\r\n\x05\x04\x07\x02\x02\x03\x12\x04\xa1\x01DE\n\x0c\
\n\x04\x04\x07\x02\x03\x12\x04\xa2\x01\x08b\n\r\n\x05\x04\x07\x02\x03\
\x04\x12\x04\xa2\x01\x08\x10\n\r\n\x05\x04\x07\x02\x03\x06\x12\x04\xa2\
\x01\x11I\n\r\n\x05\x04\x07\x02\x03\x01\x12\x04\xa2\x01J]\n\r\n\x05\x04\
\x07\x02\x03\x03\x12\x04\xa2\x01`a\n\x0c\n\x02\x04\x08\x12\x06\xa5\x01\0\
\xb9\x01\x01\n\x0b\n\x03\x04\x08\x01\x12\x04\xa5\x01\x08.\n\x0e\n\x04\
\x04\x08\x03\0\x12\x06\xa6\x01\x08\xab\x01\t\n\r\n\x05\x04\x08\x03\0\x01\
\x12\x04\xa6\x01\x10\x1d\n\x0e\n\x06\x04\x08\x03\0\x02\0\x12\x04\xa7\x01\
\x10*\n\x0f\n\x07\x04\x08\x03\0\x02\0\x04\x12\x04\xa7\x01\x10\x18\n\x0f\
\n\x07\x04\x08\x03\0\x02\0\x05\x12\x04\xa7\x01\x19\x1f\n\x0f\n\x07\x04\
\x08\x03\0\x02\0\x01\x12\x04\xa7\x01\x20%\n\x0f\n\x07\x04\x08\x03\0\x02\
\0\x03\x12\x04\xa7\x01()\n\x0e\n\x06\x04\x08\x03\0\x02\x01\x12\x04\xa8\
\x01\x10/\n\x0f\n\x07\x04\x08\x03\0\x02\x01\x04\x12\x04\xa8\x01\x10\x18\
\n\x0f\n\x07\x04\x08\x03\0\x02\x01\x05\x12\x04\xa8\x01\x19\x1f\n\x0f\n\
\x07\x04\x08\x03\0\x02\x01\x01\x12\x04\xa8\x01\x20*\n\x0f\n\x07\x04\x08\
\x03\0\x02\x01\x03\x12\x04\xa8\x01-.\n\x0e\n\x06\x04\x08\x03\0\x02\x02\
\x12\x04\xa9\x01\x10.\n\x0f\n\x07\x04\x08\x03\0\x02\x02\x04\x12\x04\xa9\
\x01\x10\x18\n\x0f\n\x07\x04\x08\x03\0\x02\x02\x05\x12\x04\xa9\x01\x19\
\x1f\n\x0f\n\x07\x04\x08\x03\0\x02\x02\x01\x12\x04\xa9\x01\x20)\n\x0f\n\
\x07\x04\x08\x03\0\x02\x02\x03\x12\x04\xa9\x01,-\n\x0e\n\x06\x04\x08\x03\
\0\x02\x03\x12\x04\xaa\x01\x107\n\x0f\n\x07\x04\x08\x03\0\x02\x03\x04\
\x12\x04\xaa\x01\x10\x18\n\x0f\n\x07\x04\x08\x03\0\x02\x03\x05\x12\x04\
\xaa\x01\x19\x1f\n\x0f\n\x07\x04\x08\x03\0\x02\x03\x01\x12\x04\xaa\x01\
\x202\n\x0f\n\x07\x04\x08\x03\0\x02\x03\x03\x12\x04\xaa\x0156\n\x0c\n\
\x04\x04\x08\x02\0\x12\x04\xad\x01\x08+\n\r\n\x05\x04\x08\x02\0\x04\x12\
\x04\xad\x01\x08\x10\n\r\n\x05\x04\x08\x02\0\x05\x12\x04\xad\x01\x11\x18\
\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xad\x01\x19&\n\r\n\x05\x04\x08\x02\
\0\x03\x12\x04\xad\x01)*\n\x0c\n\x04\x04\x08\x02\x01\x12\x04\xae\x01\x08\
%\n\r\n\x05\x04\x08\x02\x01\x04\x12\x04\xae\x01\x08\x10\n\r\n\x05\x04\
\x08\x02\x01\x05\x12\x04\xae\x01\x11\x18\n\r\n\x05\x04\x08\x02\x01\x01\
\x12\x04\xae\x01\x19\x20\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xae\x01#$\
\n\x0c\n\x04\x04\x08\x02\x02\x12\x04\xaf\x01\x08&\n\r\n\x05\x04\x08\x02\
\x02\x04\x12\x04\xaf\x01\x08\x10\n\r\n\x05\x04\x08\x02\x02\x05\x12\x04\
\xaf\x01\x11\x17\n\r\n\x05\x04\x08\x02\x02\x01\x12\x04\xaf\x01\x18!\n\r\
\n\x05\x04\x08\x02\x02\x03\x12\x04\xaf\x01$%\n\x0c\n\x04\x04\x08\x02\x03\
\x12\x04\xb0\x01\x081\n\r\n\x05\x04\x08\x02\x03\x04\x12\x04\xb0\x01\x08\
\x10\n\r\n\x05\x04\x08\x02\x03\x05\x12\x04\xb0\x01\x11\x18\n\r\n\x05\x04\
\x08\x02\x03\x01\x12\x04\xb0\x01\x19,\n\r\n\x05\x04\x08\x02\x03\x03\x12\
\x04\xb0\x01/0\n\x0c\n\x04\x04\x08\x02\x04\x12\x04\xb1\x01\x08-\n\r\n\
\x05\x04\x08\x02\x04\x04\x12\x04\xb1\x01\x08\x10\n\r\n\x05\x04\x08\x02\
\x04\x05\x12\x04\xb1\x01\x11\x17\n\r\n\x05\x04\x08\x02\x04\x01\x12\x04\
\xb1\x01\x18(\n\r\n\x05\x04\x08\x02\x04\x03\x12\x04\xb1\x01+,\n\x0c\n\
\x04\x04\x08\x02\x05\x12\x04\xb2\x01\x085\n\r\n\x05\x04\x08\x02\x05\x04\
\x12\x04\xb2\x01\x08\x10\n\r\n\x05\x04\x08\x02\x05\x05\x12\x04\xb2\x01\
\x11\x17\n\r\n\x05\x04\x08\x02\x05\x01\x12\x04\xb2\x01\x180\n\r\n\x05\
\x04\x08\x02\x05\x03\x12\x04\xb2\x0134\n\x0c\n\x04\x04\x08\x02\x06\x12\
\x04\xb3\x01\x080\n\r\n\x05\x04\x08\x02\x06\x04\x12\x04\xb3\x01\x08\x10\
\n\r\n\x05\x04\x08\x02\x06\x05\x12\x04\xb3\x01\x11\x17\n\r\n\x05\x04\x08\
\x02\x06\x01\x12\x04\xb3\x01\x18+\n\r\n\x05\x04\x08\x02\x06\x03\x12\x04\
\xb3\x01./\n\x0c\n\x04\x04\x08\x02\x07\x12\x04\xb4\x01\x08#\n\r\n\x05\
\x04\x08\x02\x07\x04\x12\x04\xb4\x01\x08\x10\n\r\n\x05\x04\x08\x02\x07\
\x05\x12\x04\xb4\x01\x11\x17\n\r\n\x05\x04\x08\x02\x07\x01\x12\x04\xb4\
\x01\x18\x1e\n\r\n\x05\x04\x08\x02\x07\x03\x12\x04\xb4\x01!\"\n\x0c\n\
\x04\x04\x08\x02\x08\x12\x04\xb5\x01\x08\\\n\r\n\x05\x04\x08\x02\x08\x04\
\x12\x04\xb5\x01\x08\x10\n\r\n\x05\x04\x08\x02\x08\x06\x12\x04\xb5\x01\
\x11F\n\r\n\x05\x04\x08\x02\x08\x01\x12\x04\xb5\x01GW\n\r\n\x05\x04\x08\
\x02\x08\x03\x12\x04\xb5\x01Z[\n\x0c\n\x04\x04\x08\x02\t\x12\x04\xb6\x01\
\x08[\n\r\n\x05\x04\x08\x02\t\x04\x12\x04\xb6\x01\x08\x10\n\r\n\x05\x04\
\x08\x02\t\x06\x12\x04\xb6\x01\x11F\n\r\n\x05\x04\x08\x02\t\x01\x12\x04\
\xb6\x01GU\n\r\n\x05\x04\x08\x02\t\x03\x12\x04\xb6\x01XZ\n\x0c\n\x04\x04\
\x08\x02\n\x12\x04\xb7\x01\x08^\n\r\n\x05\x04\x08\x02\n\x04\x12\x04\xb7\
\x01\x08\x10\n\r\n\x05\x04\x08\x02\n\x06\x12\x04\xb7\x01\x11F\n\r\n\x05\
\x04\x08\x02\n\x01\x12\x04\xb7\x01GX\n\r\n\x05\x04\x08\x02\n\x03\x12\x04\
\xb7\x01[]\n\x0c\n\x04\x04\x08\x02\x0b\x12\x04\xb8\x01\x08\\\n\r\n\x05\
\x04\x08\x02\x0b\x04\x12\x04\xb8\x01\x08\x10\n\r\n\x05\x04\x08\x02\x0b\
\x06\x12\x04\xb8\x01\x11F\n\r\n\x05\x04\x08\x02\x0b\x01\x12\x04\xb8\x01G\
V\n\r\n\x05\x04\x08\x02\x0b\x03\x12\x04\xb8\x01Y[\n\x0c\n\x02\x04\t\x12\
\x06\xbb\x01\0\xc5\x01\x01\n\x0b\n\x03\x04\t\x01\x12\x04\xbb\x01\x08'\n\
\x0c\n\x04\x04\t\x02\0\x12\x04\xbc\x01\x08+\n\r\n\x05\x04\t\x02\0\x04\
\x12\x04\xbc\x01\x08\x10\n\r\n\x05\x04\t\x02\0\x05\x12\x04\xbc\x01\x11\
\x18\n\r\n\x05\x04\t\x02\0\x01\x12\x04\xbc\x01\x19&\n\r\n\x05\x04\t\x02\
\0\x03\x12\x04\xbc\x01)*\n\x0c\n\x04\x04\t\x02\x01\x12\x04\xbd\x01\x08*\
\n\r\n\x05\x04\t\x02\x01\x04\x12\x04\xbd\x01\x08\x10\n\r\n\x05\x04\t\x02\
\x01\x05\x12\x04\xbd\x01\x11\x18\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xbd\
\x01\x19%\n\r\n\x05\x04\t\x02\x01\x03\x12\x04\xbd\x01()\n\x0c\n\x04\x04\
\t\x02\x02\x12\x04\xbe\x01\x08(\n\r\n\x05\x04\t\x02\x02\x04\x12\x04\xbe\
\x01\x08\x10\n\r\n\x05\x04\t\x02\x02\x05\x12\x04\xbe\x01\x11\x17\n\r\n\
\x05\x04\t\x02\x02\x01\x12\x04\xbe\x01\x18#\n\r\n\x05\x04\t\x02\x02\x03\
\x12\x04\xbe\x01&'\n\x0c\n\x04\x04\t\x02\x03\x12\x04\xbf\x01\x08)\n\r\n\
\x05\x04\t\x02\x03\x04\x12\x04\xbf\x01\x08\x10\n\r\n\x05\x04\t\x02\x03\
\x05\x12\x04\xbf\x01\x11\x17\n\r\n\x05\x04\t\x02\x03\x01\x12\x04\xbf\x01\
\x18$\n\r\n\x05\x04\t\x02\x03\x03\x12\x04\xbf\x01'(\n\x0c\n\x04\x04\t\
\x02\x04\x12\x04\xc0\x01\x088\n\r\n\x05\x04\t\x02\x04\x04\x12\x04\xc0\
\x01\x08\x10\n\r\n\x05\x04\t\x02\x04\x05\x12\x04\xc0\x01\x11\x17\n\r\n\
\x05\x04\t\x02\x04\x01\x12\x04\xc0\x01\x183\n\r\n\x05\x04\t\x02\x04\x03\
\x12\x04\xc0\x0167\n\x0c\n\x04\x04\t\x02\x05\x12\x04\xc1\x01\x08D\n\r\n\
\x05\x04\t\x02\x05\x04\x12\x04\xc1\x01\x08\x10\n\r\n\x05\x04\t\x02\x05\
\x06\x12\x04\xc1\x01\x119\n\r\n\x05\x04\t\x02\x05\x01\x12\x04\xc1\x01:?\
\n\r\n\x05\x04\t\x02\x05\x03\x12\x04\xc1\x01BC\n\x0c\n\x04\x04\t\x02\x06\
\x12\x04\xc2\x01\x08>\n\r\n\x05\x04\t\x02\x06\x04\x12\x04\xc2\x01\x08\
\x10\n\r\n\x05\x04\t\x02\x06\x06\x12\x04\xc2\x01\x114\n\r\n\x05\x04\t\
\x02\x06\x01\x12\x04\xc2\x0159\n\r\n\x05\x04\t\x02\x06\x03\x12\x04\xc2\
\x01<=\n\x0c\n\x04\x04\t\x02\x07\x12\x04\xc3\x01\x08-\n\r\n\x05\x04\t\
\x02\x07\x04\x12\x04\xc3\x01\x08\x10\n\r\n\x05\x04\t\x02\x07\x05\x12\x04\
\xc3\x01\x11\x18\n\r\n\x05\x04\t\x02\x07\x01\x12\x04\xc3\x01\x19'\n\r\n\
\x05\x04\t\x02\x07\x03\x12\x04\xc3\x01*,\n\x0c\n\x04\x04\t\x02\x08\x12\
\x04\xc4\x01\x084\n\r\n\x05\x04\t\x02\x08\x04\x12\x04\xc4\x01\x08\x10\n\
\r\n\x05\x04\t\x02\x08\x05\x12\x04\xc4\x01\x11\x18\n\r\n\x05\x04\t\x02\
\x08\x01\x12\x04\xc4\x01\x19/\n\r\n\x05\x04\t\x02\x08\x03\x12\x04\xc4\
\x0123\n\x0c\n\x02\x04\n\x12\x06\xc7\x01\0\xcf\x01\x01\n\x0b\n\x03\x04\n\
\x01\x12\x04\xc7\x01\x08\"\n\x0c\n\x04\x04\n\x02\0\x12\x04\xc8\x01\x082\
\n\r\n\x05\x04\n\x02\0\x04\x12\x04\xc8\x01\x08\x10\n\r\n\x05\x04\n\x02\0\
\x05\x12\x04\xc8\x01\x11\x18\n\r\n\x05\x04\n\x02\0\x01\x12\x04\xc8\x01\
\x19-\n\r\n\x05\x04\n\x02\0\x03\x12\x04\xc8\x0101\n\x0c\n\x04\x04\n\x02\
\x01\x12\x04\xc9\x01\x082\n\r\n\x05\x04\n\x02\x01\x04\x12\x04\xc9\x01\
\x08\x10\n\r\n\x05\x04\n\x02\x01\x05\x12\x04\xc9\x01\x11\x18\n\r\n\x05\
\x04\n\x02\x01\x01\x12\x04\xc9\x01\x19-\n\r\n\x05\x04\n\x02\x01\x03\x12\
\x04\xc9\x0101\n\x0c\n\x04\x04\n\x02\x02\x12\x04\xca\x01\x08,\n\r\n\x05\
\x04\n\x02\x02\x04\x12\x04\xca\x01\x08\x10\n\r\n\x05\x04\n\x02\x02\x05\
\x12\x04\xca\x01\x11\x18\n\r\n\x05\x04\n\x02\x02\x01\x12\x04\xca\x01\x19\
'\n\r\n\x05\x04\n\x02\x02\x03\x12\x04\xca\x01*+\n\x0c\n\x04\x04\n\x02\
\x03\x12\x04\xcb\x01\x08,\n\r\n\x05\x04\n\x02\x03\x04\x12\x04\xcb\x01\
\x08\x10\n\r\n\x05\x04\n\x02\x03\x05\x12\x04\xcb\x01\x11\x17\n\r\n\x05\
\x04\n\x02\x03\x01\x12\x04\xcb\x01\x18'\n\r\n\x05\x04\n\x02\x03\x03\x12\
\x04\xcb\x01*+\n\x0c\n\x04\x04\n\x02\x04\x12\x04\xcc\x01\x088\n\r\n\x05\
\x04\n\x02\x04\x04\x12\x04\xcc\x01\x08\x10\n\r\n\x05\x04\n\x02\x04\x05\
\x12\x04\xcc\x01\x11\x17\n\r\n\x05\x04\n\x02\x04\x01\x12\x04\xcc\x01\x18\
3\n\r\n\x05\x04\n\x02\x04\x03\x12\x04\xcc\x0167\n\x0c\n\x04\x04\n\x02\
\x05\x12\x04\xcd\x01\x08D\n\r\n\x05\x04\n\x02\x05\x04\x12\x04\xcd\x01\
\x08\x10\n\r\n\x05\x04\n\x02\x05\x06\x12\x04\xcd\x01\x119\n\r\n\x05\x04\
\n\x02\x05\x01\x12\x04\xcd\x01:?\n\r\n\x05\x04\n\x02\x05\x03\x12\x04\xcd\
\x01BC\n\x0c\n\x04\x04\n\x02\x06\x12\x04\xce\x01\x08>\n\r\n\x05\x04\n\
\x02\x06\x04\x12\x04\xce\x01\x08\x10\n\r\n\x05\x04\n\x02\x06\x06\x12\x04\
\xce\x01\x114\n\r\n\x05\x04\n\x02\x06\x01\x12\x04\xce\x0159\n\r\n\x05\
\x04\n\x02\x06\x03\x12\x04\xce\x01<=\n\x0c\n\x02\x04\x0b\x12\x06\xd1\x01\
\0\xda\x01\x01\n\x0b\n\x03\x04\x0b\x01\x12\x04\xd1\x01\x08/\n\x0c\n\x04\
\x04\x0b\x02\0\x12\x04\xd2\x01\x08)\n\r\n\x05\x04\x0b\x02\0\x04\x12\x04\
\xd2\x01\x08\x10\n\r\n\x05\x04\x0b\x02\0\x05\x12\x04\xd2\x01\x11\x17\n\r\
\n\x05\x04\x0b\x02\0\x01\x12\x04\xd2\x01\x18$\n\r\n\x05\x04\x0b\x02\0\
\x03\x12\x04\xd2\x01'(\n\x0c\n\x04\x04\x0b\x02\x01\x12\x04\xd3\x01\x085\
\n\r\n\x05\x04\x0b\x02\x01\x04\x12\x04\xd3\x01\x08\x10\n\r\n\x05\x04\x0b\
\x02\x01\x05\x12\x04\xd3\x01\x11\x17\n\r\n\x05\x04\x0b\x02\x01\x01\x12\
\x04\xd3\x01\x180\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xd3\x0134\n\x0c\
\n\x04\x04\x0b\x02\x02\x12\x04\xd4\x01\x086\n\r\n\x05\x04\x0b\x02\x02\
\x04\x12\x04\xd4\x01\x08\x10\n\r\n\x05\x04\x0b\x02\x02\x05\x12\x04\xd4\
\x01\x11\x17\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xd4\x01\x181\n\r\n\
\x05\x04\x0b\x02\x02\x03\x12\x04\xd4\x0145\n\x0c\n\x04\x04\x0b\x02\x03\
\x12\x04\xd5\x01\x08*\n\r\n\x05\x04\x0b\x02\x03\x04\x12\x04\xd5\x01\x08\
\x10\n\r\n\x05\x04\x0b\x02\x03\x05\x12\x04\xd5\x01\x11\x17\n\r\n\x05\x04\
\x0b\x02\x03\x01\x12\x04\xd5\x01\x18%\n\r\n\x05\x04\x0b\x02\x03\x03\x12\
\x04\xd5\x01()\n\x0c\n\x04\x04\x0b\x02\x04\x12\x04\xd6\x01\x08/\n\r\n\
\x05\x04\x0b\x02\x04\x04\x12\x04\xd6\x01\x08\x10\n\r\n\x05\x04\x0b\x02\
\x04\x05\x12\x04\xd6\x01\x11\x18\n\r\n\x05\x04\x0b\x02\x04\x01\x12\x04\
\xd6\x01\x19*\n\r\n\x05\x04\x0b\x02\x04\x03\x12\x04\xd6\x01-.\n\x0c\n\
\x04\x04\x0b\x02\x05\x12\x04\xd7\x01\x080\n\r\n\x05\x04\x0b\x02\x05\x04\
\x12\x04\xd7\x01\x08\x10\n\r\n\x05\x04\x0b\x02\x05\x05\x12\x04\xd7\x01\
\x11\x18\n\r\n\x05\x04\x0b\x02\x05\x01\x12\x04\xd7\x01\x19+\n\r\n\x05\
\x04\x0b\x02\x05\x03\x12\x04\xd7\x01./\n\x0c\n\x04\x04\x0b\x02\x06\x12\
\x04\xd8\x01\x08+\n\r\n\x05\x04\x0b\x02\x06\x04\x12\x04\xd8\x01\x08\x10\
\n\r\n\x05\x04\x0b\x02\x06\x05\x12\x04\xd8\x01\x11\x17\n\r\n\x05\x04\x0b\
\x02\x06\x01\x12\x04\xd8\x01\x18&\n\r\n\x05\x04\x0b\x02\x06\x03\x12\x04\
\xd8\x01)*\n\x0c\n\x04\x04\x0b\x02\x07\x12\x04\xd9\x01\x08-\n\r\n\x05\
\x04\x0b\x02\x07\x04\x12\x04\xd9\x01\x08\x10\n\r\n\x05\x04\x0b\x02\x07\
\x05\x12\x04\xd9\x01\x11\x17\n\r\n\x05\x04\x0b\x02\x07\x01\x12\x04\xd9\
\x01\x18(\n\r\n\x05\x04\x0b\x02\x07\x03\x12\x04\xd9\x01+,\n\x0c\n\x02\
\x04\x0c\x12\x06\xdc\x01\0\xdf\x01\x01\n\x0b\n\x03\x04\x0c\x01\x12\x04\
\xdc\x01\x08*\n\x0c\n\x04\x04\x0c\x02\0\x12\x04\xdd\x01\x08?\n\r\n\x05\
\x04\x0c\x02\0\x04\x12\x04\xdd\x01\x08\x10\n\r\n\x05\x04\x0c\x02\0\x06\
\x12\x04\xdd\x01\x116\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\xdd\x017:\n\r\
\n\x05\x04\x0c\x02\0\x03\x12\x04\xdd\x01=>\n\x0c\n\x04\x04\x0c\x02\x01\
\x12\x04\xde\x01\x08B\n\r\n\x05\x04\x0c\x02\x01\x04\x12\x04\xde\x01\x08\
\x10\n\r\n\x05\x04\x0c\x02\x01\x06\x12\x04\xde\x01\x119\n\r\n\x05\x04\
\x0c\x02\x01\x01\x12\x04\xde\x01:=\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\
\xde\x01@A\n\x0c\n\x02\x04\r\x12\x06\xe1\x01\0\xfb\x01\x01\n\x0b\n\x03\
\x04\r\x01\x12\x04\xe1\x01\x08)\n\x0e\n\x04\x04\r\x04\0\x12\x06\xe2\x01\
\x08\xe6\x01\t\n\r\n\x05\x04\r\x04\0\x01\x12\x04\xe2\x01\r\x17\n\x0e\n\
\x06\x04\r\x04\0\x02\0\x12\x04\xe3\x01\x10\x19\n\x0f\n\x07\x04\r\x04\0\
\x02\0\x01\x12\x04\xe3\x01\x10\x14\n\x0f\n\x07\x04\r\x04\0\x02\0\x02\x12\
\x04\xe3\x01\x17\x18\n\x0e\n\x06\x04\r\x04\0\x02\x01\x12\x04\xe4\x01\x10\
\x1d\n\x0f\n\x07\x04\r\x04\0\x02\x01\x01\x12\x04\xe4\x01\x10\x18\n\x0f\n\
\x07\x04\r\x04\0\x02\x01\x02\x12\x04\xe4\x01\x1b\x1c\n\x0e\n\x06\x04\r\
\x04\0\x02\x02\x12\x04\xe5\x01\x10!\n\x0f\n\x07\x04\r\x04\0\x02\x02\x01\
\x12\x04\xe5\x01\x10\x1c\n\x0f\n\x07\x04\r\x04\0\x02\x02\x02\x12\x04\xe5\
\x01\x1f\x20\n\x0c\n\x04\x04\r\x02\0\x12\x04\xe8\x01\x08.\n\r\n\x05\x04\
\r\x02\0\x04\x12\x04\xe8\x01\x08\x10\n\r\n\x05\x04\r\x02\0\x05\x12\x04\
\xe8\x01\x11\x18\n\r\n\x05\x04\r\x02\0\x01\x12\x04\xe8\x01\x19)\n\r\n\
\x05\x04\r\x02\0\x03\x12\x04\xe8\x01,-\n\x0c\n\x04\x04\r\x02\x01\x12\x04\
\xe9\x01\x080\n\r\n\x05\x04\r\x02\x01\x04\x12\x04\xe9\x01\x08\x10\n\r\n\
\x05\x04\r\x02\x01\x05\x12\x04\xe9\x01\x11\x18\n\r\n\x05\x04\r\x02\x01\
\x01\x12\x04\xe9\x01\x19+\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xe9\x01./\
\n\x0c\n\x04\x04\r\x02\x02\x12\x04\xea\x01\x082\n\r\n\x05\x04\r\x02\x02\
\x04\x12\x04\xea\x01\x08\x10\n\r\n\x05\x04\r\x02\x02\x05\x12\x04\xea\x01\
\x11\x17\n\r\n\x05\x04\r\x02\x02\x01\x12\x04\xea\x01\x18,\n\r\n\x05\x04\
\r\x02\x02\x03\x12\x04\xea\x01/1\n\x0c\n\x04\x04\r\x02\x03\x12\x04\xeb\
\x01\x08[\n\r\n\x05\x04\r\x02\x03\x04\x12\x04\xeb\x01\x08\x10\n\r\n\x05\
\x04\r\x02\x03\x06\x12\x04\xeb\x01\x119\n\r\n\x05\x04\r\x02\x03\x01\x12\
\x04\xeb\x01:U\n\r\n\x05\x04\r\x02\x03\x03\x12\x04\xeb\x01XZ\n\x0c\n\x04\
\x04\r\x02\x04\x12\x04\xec\x01\x082\n\r\n\x05\x04\r\x02\x04\x04\x12\x04\
\xec\x01\x08\x10\n\r\n\x05\x04\r\x02\x04\x05\x12\x04\xec\x01\x11\x18\n\r\
\n\x05\x04\r\x02\x04\x01\x12\x04\xec\x01\x19-\n\r\n\x05\x04\r\x02\x04\
\x03\x12\x04\xec\x0101\n\x0c\n\x04\x04\r\x02\x05\x12\x04\xed\x01\x08?\n\
\r\n\x05\x04\r\x02\x05\x04\x12\x04\xed\x01\x08\x10\n\r\n\x05\x04\r\x02\
\x05\x05\x12\x04\xed\x01\x11\x17\n\r\n\x05\x04\r\x02\x05\x01\x12\x04\xed\
\x01\x18:\n\r\n\x05\x04\r\x02\x05\x03\x12\x04\xed\x01=>\n\x0c\n\x04\x04\
\r\x02\x06\x12\x04\xee\x01\x081\n\r\n\x05\x04\r\x02\x06\x04\x12\x04\xee\
\x01\x08\x10\n\r\n\x05\x04\r\x02\x06\x05\x12\x04\xee\x01\x11\x18\n\r\n\
\x05\x04\r\x02\x06\x01\x12\x04\xee\x01\x19,\n\r\n\x05\x04\r\x02\x06\x03\
\x12\x04\xee\x01/0\n\x0c\n\x04\x04\r\x02\x07\x12\x04\xef\x01\x084\n\r\n\
\x05\x04\r\x02\x07\x04\x12\x04\xef\x01\x08\x10\n\r\n\x05\x04\r\x02\x07\
\x05\x12\x04\xef\x01\x11\x18\n\r\n\x05\x04\r\x02\x07\x01\x12\x04\xef\x01\
\x19.\n\r\n\x05\x04\r\x02\x07\x03\x12\x04\xef\x0113\n\x0c\n\x04\x04\r\
\x02\x08\x12\x04\xf0\x01\x08?\n\r\n\x05\x04\r\x02\x08\x04\x12\x04\xf0\
\x01\x08\x10\n\r\n\x05\x04\r\x02\x08\x05\x12\x04\xf0\x01\x11\x16\n\r\n\
\x05\x04\r\x02\x08\x01\x12\x04\xf0\x01\x179\n\r\n\x05\x04\r\x02\x08\x03\
\x12\x04\xf0\x01<>\n\x0c\n\x04\x04\r\x02\t\x12\x04\xf1\x01\x085\n\r\n\
\x05\x04\r\x02\t\x04\x12\x04\xf1\x01\x08\x10\n\r\n\x05\x04\r\x02\t\x05\
\x12\x04\xf1\x01\x11\x17\n\r\n\x05\x04\r\x02\t\x01\x12\x04\xf1\x01\x18/\
\n\r\n\x05\x04\r\x02\t\x03\x12\x04\xf1\x0124\n\x0c\n\x04\x04\r\x02\n\x12\
\x04\xf2\x01\x08_\n\r\n\x05\x04\r\x02\n\x04\x12\x04\xf2\x01\x08\x10\n\r\
\n\x05\x04\r\x02\n\x06\x12\x04\xf2\x01\x11>\n\r\n\x05\x04\r\x02\n\x01\
\x12\x04\xf2\x01?I\n\r\n\x05\x04\r\x02\n\x03\x12\x04\xf2\x01LM\n\r\n\x05\
\x04\r\x02\n\x08\x12\x04\xf2\x01N^\n\r\n\x05\x04\r\x02\n\x07\x12\x04\xf2\
\x01Y]\n\x0c\n\x04\x04\r\x02\x0b\x12\x04\xf3\x01\x08\"\n\r\n\x05\x04\r\
\x02\x0b\x04\x12\x04\xf3\x01\x08\x10\n\r\n\x05\x04\r\x02\x0b\x05\x12\x04\
\xf3\x01\x11\x17\n\r\n\x05\x04\r\x02\x0b\x01\x12\x04\xf3\x01\x18\x1d\n\r\
\n\x05\x04\r\x02\x0b\x03\x12\x04\xf3\x01\x20!\n\x0c\n\x04\x04\r\x02\x0c\
\x12\x04\xf4\x01\x08(\n\r\n\x05\x04\r\x02\x0c\x04\x12\x04\xf4\x01\x08\
\x10\n\r\n\x05\x04\r\x02\x0c\x05\x12\x04\xf4\x01\x11\x17\n\r\n\x05\x04\r\
\x02\x0c\x01\x12\x04\xf4\x01\x18#\n\r\n\x05\x04\r\x02\x0c\x03\x12\x04\
\xf4\x01&'\n\x0c\n\x04\x04\r\x02\r\x12\x04\xf5\x01\x08-\n\r\n\x05\x04\r\
\x02\r\x04\x12\x04\xf5\x01\x08\x10\n\r\n\x05\x04\r\x02\r\x05\x12\x04\xf5\
\x01\x11\x18\n\r\n\x05\x04\r\x02\r\x01\x12\x04\xf5\x01\x19'\n\r\n\x05\
\x04\r\x02\r\x03\x12\x04\xf5\x01*,\n\x0c\n\x04\x04\r\x02\x0e\x12\x04\xf6\
\x01\x08/\n\r\n\x05\x04\r\x02\x0e\x04\x12\x04\xf6\x01\x08\x10\n\r\n\x05\
\x04\r\x02\x0e\x05\x12\x04\xf6\x01\x11\x15\n\r\n\x05\x04\r\x02\x0e\x01\
\x12\x04\xf6\x01\x16)\n\r\n\x05\x04\r\x02\x0e\x03\x12\x04\xf6\x01,.\n\
\x0c\n\x04\x04\r\x02\x0f\x12\x04\xf7\x01\x081\n\r\n\x05\x04\r\x02\x0f\
\x04\x12\x04\xf7\x01\x08\x10\n\r\n\x05\x04\r\x02\x0f\x05\x12\x04\xf7\x01\
\x11\x15\n\r\n\x05\x04\r\x02\x0f\x01\x12\x04\xf7\x01\x16+\n\r\n\x05\x04\
\r\x02\x0f\x03\x12\x04\xf7\x01.0\n\x0c\n\x04\x04\r\x02\x10\x12\x04\xf8\
\x01\x08H\n\r\n\x05\x04\r\x02\x10\x04\x12\x04\xf8\x01\x08\x10\n\r\n\x05\
\x04\r\x02\x10\x06\x12\x04\xf8\x01\x114\n\r\n\x05\x04\r\x02\x10\x01\x12\
\x04\xf8\x015B\n\r\n\x05\x04\r\x02\x10\x03\x12\x04\xf8\x01EG\n\x0c\n\x04\
\x04\r\x02\x11\x12\x04\xf9\x01\x08F\n\r\n\x05\x04\r\x02\x11\x04\x12\x04\
\xf9\x01\x08\x10\n\r\n\x05\x04\r\x02\x11\x06\x12\x04\xf9\x01\x114\n\r\n\
\x05\x04\r\x02\x11\x01\x12\x04\xf9\x015@\n\r\n\x05\x04\r\x02\x11\x03\x12\
\x04\xf9\x01CE\n\x0c\n\x04\x04\r\x02\x12\x12\x04\xfa\x01\x08N\n\r\n\x05\
\x04\r\x02\x12\x04\x12\x04\xfa\x01\x08\x10\n\r\n\x05\x04\r\x02\x12\x06\
\x12\x04\xfa\x01\x114\n\r\n\x05\x04\r\x02\x12\x01\x12\x04\xfa\x015H\n\r\
\n\x05\x04\r\x02\x12\x03\x12\x04\xfa\x01KM\n\x0c\n\x02\x04\x0e\x12\x06\
\xfd\x01\0\x8d\x02\x01\n\x0b\n\x03\x04\x0e\x01\x12\x04\xfd\x01\x08%\n\
\x0c\n\x04\x04\x0e\x02\0\x12\x04\xfe\x01\x08.\n\r\n\x05\x04\x0e\x02\0\
\x04\x12\x04\xfe\x01\x08\x10\n\r\n\x05\x04\x0e\x02\0\x05\x12\x04\xfe\x01\
\x11\x18\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\xfe\x01\x19)\n\r\n\x05\x04\
\x0e\x02\0\x03\x12\x04\xfe\x01,-\n\x0c\n\x04\x04\x0e\x02\x01\x12\x04\xff\
\x01\x080\n\r\n\x05\x04\x0e\x02\x01\x04\x12\x04\xff\x01\x08\x10\n\r\n\
\x05\x04\x0e\x02\x01\x05\x12\x04\xff\x01\x11\x18\n\r\n\x05\x04\x0e\x02\
\x01\x01\x12\x04\xff\x01\x19+\n\r\n\x05\x04\x0e\x02\x01\x03\x12\x04\xff\
\x01./\n\x0c\n\x04\x04\x0e\x02\x02\x12\x04\x80\x02\x08?\n\r\n\x05\x04\
\x0e\x02\x02\x04\x12\x04\x80\x02\x08\x10\n\r\n\x05\x04\x0e\x02\x02\x05\
\x12\x04\x80\x02\x11\x17\n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\x80\x02\
\x18:\n\r\n\x05\x04\x0e\x02\x02\x03\x12\x04\x80\x02=>\n\x0c\n\x04\x04\
\x0e\x02\x03\x12\x04\x81\x02\x081\n\r\n\x05\x04\x0e\x02\x03\x04\x12\x04\
\x81\x02\x08\x10\n\r\n\x05\x04\x0e\x02\x03\x05\x12\x04\x81\x02\x11\x18\n\
\r\n\x05\x04\x0e\x02\x03\x01\x12\x04\x81\x02\x19,\n\r\n\x05\x04\x0e\x02\
\x03\x03\x12\x04\x81\x02/0\n\x0c\n\x04\x04\x0e\x02\x04\x12\x04\x82\x02\
\x084\n\r\n\x05\x04\x0e\x02\x04\x04\x12\x04\x82\x02\x08\x10\n\r\n\x05\
\x04\x0e\x02\x04\x05\x12\x04\x82\x02\x11\x18\n\r\n\x05\x04\x0e\x02\x04\
\x01\x12\x04\x82\x02\x19.\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\x82\x021\
3\n\x0c\n\x04\x04\x0e\x02\x05\x12\x04\x83\x02\x081\n\r\n\x05\x04\x0e\x02\
\x05\x04\x12\x04\x83\x02\x08\x10\n\r\n\x05\x04\x0e\x02\x05\x05\x12\x04\
\x83\x02\x11\x17\n\r\n\x05\x04\x0e\x02\x05\x01\x12\x04\x83\x02\x18,\n\r\
\n\x05\x04\x0e\x02\x05\x03\x12\x04\x83\x02/0\n\x0c\n\x04\x04\x0e\x02\x06\
\x12\x04\x84\x02\x082\n\r\n\x05\x04\x0e\x02\x06\x04\x12\x04\x84\x02\x08\
\x10\n\r\n\x05\x04\x0e\x02\x06\x05\x12\x04\x84\x02\x11\x18\n\r\n\x05\x04\
\x0e\x02\x06\x01\x12\x04\x84\x02\x19-\n\r\n\x05\x04\x0e\x02\x06\x03\x12\
\x04\x84\x0201\n\x0c\n\x04\x04\x0e\x02\x07\x12\x04\x85\x02\x08%\n\r\n\
\x05\x04\x0e\x02\x07\x04\x12\x04\x85\x02\x08\x10\n\r\n\x05\x04\x0e\x02\
\x07\x05\x12\x04\x85\x02\x11\x15\n\r\n\x05\x04\x0e\x02\x07\x01\x12\x04\
\x85\x02\x16\x20\n\r\n\x05\x04\x0e\x02\x07\x03\x12\x04\x85\x02#$\n\x0c\n\
\x04\x04\x0e\x02\x08\x12\x04\x86\x02\x08/\n\r\n\x05\x04\x0e\x02\x08\x04\
\x12\x04\x86\x02\x08\x10\n\r\n\x05\x04\x0e\x02\x08\x05\x12\x04\x86\x02\
\x11\x15\n\r\n\x05\x04\x0e\x02\x08\x01\x12\x04\x86\x02\x16)\n\r\n\x05\
\x04\x0e\x02\x08\x03\x12\x04\x86\x02,.\n\x0c\n\x04\x04\x0e\x02\t\x12\x04\
\x87\x02\x081\n\r\n\x05\x04\x0e\x02\t\x04\x12\x04\x87\x02\x08\x10\n\r\n\
\x05\x04\x0e\x02\t\x05\x12\x04\x87\x02\x11\x15\n\r\n\x05\x04\x0e\x02\t\
\x01\x12\x04\x87\x02\x16+\n\r\n\x05\x04\x0e\x02\t\x03\x12\x04\x87\x02.0\
\n\x0c\n\x04\x04\x0e\x02\n\x12\x04\x88\x02\x08H\n\r\n\x05\x04\x0e\x02\n\
\x04\x12\x04\x88\x02\x08\x10\n\r\n\x05\x04\x0e\x02\n\x06\x12\x04\x88\x02\
\x114\n\r\n\x05\x04\x0e\x02\n\x01\x12\x04\x88\x025B\n\r\n\x05\x04\x0e\
\x02\n\x03\x12\x04\x88\x02EG\n\x0c\n\x04\x04\x0e\x02\x0b\x12\x04\x89\x02\
\x08F\n\r\n\x05\x04\x0e\x02\x0b\x04\x12\x04\x89\x02\x08\x10\n\r\n\x05\
\x04\x0e\x02\x0b\x06\x12\x04\x89\x02\x114\n\r\n\x05\x04\x0e\x02\x0b\x01\
\x12\x04\x89\x025@\n\r\n\x05\x04\x0e\x02\x0b\x03\x12\x04\x89\x02CE\n\x0c\
\n\x04\x04\x0e\x02\x0c\x12\x04\x8a\x02\x08N\n\r\n\x05\x04\x0e\x02\x0c\
\x04\x12\x04\x8a\x02\x08\x10\n\r\n\x05\x04\x0e\x02\x0c\x06\x12\x04\x8a\
\x02\x114\n\r\n\x05\x04\x0e\x02\x0c\x01\x12\x04\x8a\x025H\n\r\n\x05\x04\
\x0e\x02\x0c\x03\x12\x04\x8a\x02KM\n\x0c\n\x04\x04\x0e\x02\r\x12\x04\x8b\
\x02\x08-\n\r\n\x05\x04\x0e\x02\r\x04\x12\x04\x8b\x02\x08\x10\n\r\n\x05\
\x04\x0e\x02\r\x05\x12\x04\x8b\x02\x11\x18\n\r\n\x05\x04\x0e\x02\r\x01\
\x12\x04\x8b\x02\x19'\n\r\n\x05\x04\x0e\x02\r\x03\x12\x04\x8b\x02*,\n\
\x0c\n\x04\x04\x0e\x02\x0e\x12\x04\x8c\x02\x08*\n\r\n\x05\x04\x0e\x02\
\x0e\x04\x12\x04\x8c\x02\x08\x10\n\r\n\x05\x04\x0e\x02\x0e\x05\x12\x04\
\x8c\x02\x11\x18\n\r\n\x05\x04\x0e\x02\x0e\x01\x12\x04\x8c\x02\x19\"\n\r\
\n\x05\x04\x0e\x02\x0e\x03\x12\x04\x8c\x02%)\n\x0c\n\x02\x04\x0f\x12\x06\
\x8f\x02\0\x99\x02\x01\n\x0b\n\x03\x04\x0f\x01\x12\x04\x8f\x02\x081\n\
\x0c\n\x04\x04\x0f\x02\0\x12\x04\x90\x02\x08\"\n\r\n\x05\x04\x0f\x02\0\
\x04\x12\x04\x90\x02\x08\x10\n\r\n\x05\x04\x0f\x02\0\x05\x12\x04\x90\x02\
\x11\x16\n\r\n\x05\x04\x0f\x02\0\x01\x12\x04\x90\x02\x17\x1d\n\r\n\x05\
\x04\x0f\x02\0\x03\x12\x04\x90\x02\x20!\n\x0c\n\x04\x04\x0f\x02\x01\x12\
\x04\x91\x02\x08,\n\r\n\x05\x04\x0f\x02\x01\x04\x12\x04\x91\x02\x08\x10\
\n\r\n\x05\x04\x0f\x02\x01\x05\x12\x04\x91\x02\x11\x18\n\r\n\x05\x04\x0f\
\x02\x01\x01\x12\x04\x91\x02\x19'\n\r\n\x05\x04\x0f\x02\x01\x03\x12\x04\
\x91\x02*+\n\x0c\n\x04\x04\x0f\x02\x02\x12\x04\x92\x02\x08'\n\r\n\x05\
\x04\x0f\x02\x02\x04\x12\x04\x92\x02\x08\x10\n\r\n\x05\x04\x0f\x02\x02\
\x05\x12\x04\x92\x02\x11\x18\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\x92\
\x02\x19\"\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\x92\x02%&\n\x0c\n\x04\
\x04\x0f\x02\x03\x12\x04\x93\x02\x082\n\r\n\x05\x04\x0f\x02\x03\x04\x12\
\x04\x93\x02\x08\x10\n\r\n\x05\x04\x0f\x02\x03\x05\x12\x04\x93\x02\x11\
\x18\n\r\n\x05\x04\x0f\x02\x03\x01\x12\x04\x93\x02\x19-\n\r\n\x05\x04\
\x0f\x02\x03\x03\x12\x04\x93\x0201\n\x0c\n\x04\x04\x0f\x02\x04\x12\x04\
\x94\x02\x082\n\r\n\x05\x04\x0f\x02\x04\x04\x12\x04\x94\x02\x08\x10\n\r\
\n\x05\x04\x0f\x02\x04\x05\x12\x04\x94\x02\x11\x18\n\r\n\x05\x04\x0f\x02\
\x04\x01\x12\x04\x94\x02\x19-\n\r\n\x05\x04\x0f\x02\x04\x03\x12\x04\x94\
\x0201\n\x0c\n\x04\x04\x0f\x02\x05\x12\x04\x95\x02\x083\n\r\n\x05\x04\
\x0f\x02\x05\x04\x12\x04\x95\x02\x08\x10\n\r\n\x05\x04\x0f\x02\x05\x05\
\x12\x04\x95\x02\x11\x17\n\r\n\x05\x04\x0f\x02\x05\x01\x12\x04\x95\x02\
\x18.\n\r\n\x05\x04\x0f\x02\x05\x03\x12\x04\x95\x0212\n\x0c\n\x04\x04\
\x0f\x02\x06\x12\x04\x96\x02\x08-\n\r\n\x05\x04\x0f\x02\x06\x04\x12\x04\
\x96\x02\x08\x10\n\r\n\x05\x04\x0f\x02\x06\x05\x12\x04\x96\x02\x11\x17\n\
\r\n\x05\x04\x0f\x02\x06\x01\x12\x04\x96\x02\x18(\n\r\n\x05\x04\x0f\x02\
\x06\x03\x12\x04\x96\x02+,\n\x0c\n\x04\x04\x0f\x02\x07\x12\x04\x97\x02\
\x08%\n\r\n\x05\x04\x0f\x02\x07\x04\x12\x04\x97\x02\x08\x10\n\r\n\x05\
\x04\x0f\x02\x07\x05\x12\x04\x97\x02\x11\x17\n\r\n\x05\x04\x0f\x02\x07\
\x01\x12\x04\x97\x02\x18\x20\n\r\n\x05\x04\x0f\x02\x07\x03\x12\x04\x97\
\x02#$\n\x0c\n\x04\x04\x0f\x02\x08\x12\x04\x98\x02\x08#\n\r\n\x05\x04\
\x0f\x02\x08\x04\x12\x04\x98\x02\x08\x10\n\r\n\x05\x04\x0f\x02\x08\x05\
\x12\x04\x98\x02\x11\x17\n\r\n\x05\x04\x0f\x02\x08\x01\x12\x04\x98\x02\
\x18\x1d\n\r\n\x05\x04\x0f\x02\x08\x03\x12\x04\x98\x02\x20\"\n\x0c\n\x02\
\x04\x10\x12\x06\x9b\x02\0\xa2\x02\x01\n\x0b\n\x03\x04\x10\x01\x12\x04\
\x9b\x02\x085\n\x0c\n\x04\x04\x10\x02\0\x12\x04\x9c\x02\x08+\n\r\n\x05\
\x04\x10\x02\0\x04\x12\x04\x9c\x02\x08\x10\n\r\n\x05\x04\x10\x02\0\x05\
\x12\x04\x9c\x02\x11\x18\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\x9c\x02\x19\
&\n\r\n\x05\x04\x10\x02\0\x03\x12\x04\x9c\x02)*\n\x0c\n\x04\x04\x10\x02\
\x01\x12\x04\x9d\x02\x087\n\r\n\x05\x04\x10\x02\x01\x04\x12\x04\x9d\x02\
\x08\x10\n\r\n\x05\x04\x10\x02\x01\x05\x12\x04\x9d\x02\x11\x17\n\r\n\x05\
\x04\x10\x02\x01\x01\x12\x04\x9d\x02\x182\n\r\n\x05\x04\x10\x02\x01\x03\
\x12\x04\x9d\x0256\n\x0c\n\x04\x04\x10\x02\x02\x12\x04\x9e\x02\x083\n\r\
\n\x05\x04\x10\x02\x02\x04\x12\x04\x9e\x02\x08\x10\n\r\n\x05\x04\x10\x02\
\x02\x05\x12\x04\x9e\x02\x11\x17\n\r\n\x05\x04\x10\x02\x02\x01\x12\x04\
\x9e\x02\x18.\n\r\n\x05\x04\x10\x02\x02\x03\x12\x04\x9e\x0212\n\x0c\n\
\x04\x04\x10\x02\x03\x12\x04\x9f\x02\x08(\n\r\n\x05\x04\x10\x02\x03\x04\
\x12\x04\x9f\x02\x08\x10\n\r\n\x05\x04\x10\x02\x03\x05\x12\x04\x9f\x02\
\x11\x17\n\r\n\x05\x04\x10\x02\x03\x01\x12\x04\x9f\x02\x18#\n\r\n\x05\
\x04\x10\x02\x03\x03\x12\x04\x9f\x02&'\n\x0c\n\x04\x04\x10\x02\x04\x12\
\x04\xa0\x02\x088\n\r\n\x05\x04\x10\x02\x04\x04\x12\x04\xa0\x02\x08\x10\
\n\r\n\x05\x04\x10\x02\x04\x05\x12\x04\xa0\x02\x11\x16\n\r\n\x05\x04\x10\
\x02\x04\x01\x12\x04\xa0\x02\x173\n\r\n\x05\x04\x10\x02\x04\x03\x12\x04\
\xa0\x0267\n\x0c\n\x04\x04\x10\x02\x05\x12\x04\xa1\x02\x087\n\r\n\x05\
\x04\x10\x02\x05\x04\x12\x04\xa1\x02\x08\x10\n\r\n\x05\x04\x10\x02\x05\
\x05\x12\x04\xa1\x02\x11\x18\n\r\n\x05\x04\x10\x02\x05\x01\x12\x04\xa1\
\x02\x192\n\r\n\x05\x04\x10\x02\x05\x03\x12\x04\xa1\x0256\n\x0c\n\x02\
\x04\x11\x12\x06\xa4\x02\0\xb4\x02\x01\n\x0b\n\x03\x04\x11\x01\x12\x04\
\xa4\x02\x086\n\x0e\n\x04\x04\x11\x04\0\x12\x06\xa5\x02\x08\xaa\x02\t\n\
\r\n\x05\x04\x11\x04\0\x01\x12\x04\xa5\x02\r\x12\n\x0e\n\x06\x04\x11\x04\
\0\x02\0\x12\x04\xa6\x02\x10&\n\x0f\n\x07\x04\x11\x04\0\x02\0\x01\x12\
\x04\xa6\x02\x10!\n\x0f\n\x07\x04\x11\x04\0\x02\0\x02\x12\x04\xa6\x02$%\
\n\x0e\n\x06\x04\x11\x04\0\x02\x01\x12\x04\xa7\x02\x10$\n\x0f\n\x07\x04\
\x11\x04\0\x02\x01\x01\x12\x04\xa7\x02\x10\x1f\n\x0f\n\x07\x04\x11\x04\0\
\x02\x01\x02\x12\x04\xa7\x02\"#\n\x0e\n\x06\x04\x11\x04\0\x02\x02\x12\
\x04\xa8\x02\x10*\n\x0f\n\x07\x04\x11\x04\0\x02\x02\x01\x12\x04\xa8\x02\
\x10%\n\x0f\n\x07\x04\x11\x04\0\x02\x02\x02\x12\x04\xa8\x02()\n\x0e\n\
\x06\x04\x11\x04\0\x02\x03\x12\x04\xa9\x02\x10(\n\x0f\n\x07\x04\x11\x04\
\0\x02\x03\x01\x12\x04\xa9\x02\x10#\n\x0f\n\x07\x04\x11\x04\0\x02\x03\
\x02\x12\x04\xa9\x02&'\n\x0c\n\x04\x04\x11\x02\0\x12\x04\xac\x02\x08G\n\
\r\n\x05\x04\x11\x02\0\x04\x12\x04\xac\x02\x08\x10\n\r\n\x05\x04\x11\x02\
\0\x06\x12\x04\xac\x02\x114\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\xac\x025\
B\n\r\n\x05\x04\x11\x02\0\x03\x12\x04\xac\x02EF\n\x0c\n\x04\x04\x11\x02\
\x01\x12\x04\xad\x02\x08E\n\r\n\x05\x04\x11\x02\x01\x04\x12\x04\xad\x02\
\x08\x10\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\xad\x02\x114\n\r\n\x05\
\x04\x11\x02\x01\x01\x12\x04\xad\x025@\n\r\n\x05\x04\x11\x02\x01\x03\x12\
\x04\xad\x02CD\n\x0c\n\x04\x04\x11\x02\x02\x12\x04\xae\x02\x08'\n\r\n\
\x05\x04\x11\x02\x02\x04\x12\x04\xae\x02\x08\x10\n\r\n\x05\x04\x11\x02\
\x02\x05\x12\x04\xae\x02\x11\x18\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\
\xae\x02\x19\"\n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xae\x02%&\n\x0c\n\
\x04\x04\x11\x02\x03\x12\x04\xaf\x02\x08,\n\r\n\x05\x04\x11\x02\x03\x04\
\x12\x04\xaf\x02\x08\x10\n\r\n\x05\x04\x11\x02\x03\x05\x12\x04\xaf\x02\
\x11\x18\n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\xaf\x02\x19'\n\r\n\x05\
\x04\x11\x02\x03\x03\x12\x04\xaf\x02*+\n\x0c\n\x04\x04\x11\x02\x04\x12\
\x04\xb0\x02\x08\"\n\r\n\x05\x04\x11\x02\x04\x04\x12\x04\xb0\x02\x08\x10\
\n\r\n\x05\x04\x11\x02\x04\x05\x12\x04\xb0\x02\x11\x17\n\r\n\x05\x04\x11\
\x02\x04\x01\x12\x04\xb0\x02\x18\x1d\n\r\n\x05\x04\x11\x02\x04\x03\x12\
\x04\xb0\x02\x20!\n\x0c\n\x04\x04\x11\x02\x05\x12\x04\xb1\x02\x082\n\r\n\
\x05\x04\x11\x02\x05\x04\x12\x04\xb1\x02\x08\x10\n\r\n\x05\x04\x11\x02\
\x05\x05\x12\x04\xb1\x02\x11\x18\n\r\n\x05\x04\x11\x02\x05\x01\x12\x04\
\xb1\x02\x19-\n\r\n\x05\x04\x11\x02\x05\x03\x12\x04\xb1\x0201\n\x0c\n\
\x04\x04\x11\x02\x06\x12\x04\xb2\x02\x08(\n\r\n\x05\x04\x11\x02\x06\x04\
\x12\x04\xb2\x02\x08\x10\n\r\n\x05\x04\x11\x02\x06\x05\x12\x04\xb2\x02\
\x11\x17\n\r\n\x05\x04\x11\x02\x06\x01\x12\x04\xb2\x02\x18#\n\r\n\x05\
\x04\x11\x02\x06\x03\x12\x04\xb2\x02&'\n\x0c\n\x04\x04\x11\x02\x07\x12\
\x04\xb3\x02\x08)\n\r\n\x05\x04\x11\x02\x07\x04\x12\x04\xb3\x02\x08\x10\
\n\r\n\x05\x04\x11\x02\x07\x05\x12\x04\xb3\x02\x11\x17\n\r\n\x05\x04\x11\
\x02\x07\x01\x12\x04\xb3\x02\x18#\n\r\n\x05\x04\x11\x02\x07\x03\x12\x04\
\xb3\x02&(\n\x0c\n\x02\x04\x12\x12\x06\xb6\x02\0\xc9\x02\x01\n\x0b\n\x03\
\x04\x12\x01\x12\x04\xb6\x02\x086\n\x0e\n\x04\x04\x12\x04\0\x12\x06\xb7\
\x02\x08\xbb\x02\t\n\r\n\x05\x04\x12\x04\0\x01\x12\x04\xb7\x02\r\x12\n\
\x0e\n\x06\x04\x12\x04\0\x02\0\x12\x04\xb8\x02\x10&\n\x0f\n\x07\x04\x12\
\x04\0\x02\0\x01\x12\x04\xb8\x02\x10!\n\x0f\n\x07\x04\x12\x04\0\x02\0\
\x02\x12\x04\xb8\x02$%\n\x0e\n\x06\x04\x12\x04\0\x02\x01\x12\x04\xb9\x02\
\x10$\n\x0f\n\x07\x04\x12\x04\0\x02\x01\x01\x12\x04\xb9\x02\x10\x1f\n\
\x0f\n\x07\x04\x12\x04\0\x02\x01\x02\x12\x04\xb9\x02\"#\n\x0e\n\x06\x04\
\x12\x04\0\x02\x02\x12\x04\xba\x02\x10*\n\x0f\n\x07\x04\x12\x04\0\x02\
\x02\x01\x12\x04\xba\x02\x10%\n\x0f\n\x07\x04\x12\x04\0\x02\x02\x02\x12\
\x04\xba\x02()\n\x0c\n\x04\x04\x12\x02\0\x12\x04\xbd\x02\x08G\n\r\n\x05\
\x04\x12\x02\0\x04\x12\x04\xbd\x02\x08\x10\n\r\n\x05\x04\x12\x02\0\x06\
\x12\x04\xbd\x02\x114\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\xbd\x025B\n\r\
\n\x05\x04\x12\x02\0\x03\x12\x04\xbd\x02EF\n\x0c\n\x04\x04\x12\x02\x01\
\x12\x04\xbe\x02\x08E\n\r\n\x05\x04\x12\x02\x01\x04\x12\x04\xbe\x02\x08\
\x10\n\r\n\x05\x04\x12\x02\x01\x06\x12\x04\xbe\x02\x114\n\r\n\x05\x04\
\x12\x02\x01\x01\x12\x04\xbe\x025@\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\
\xbe\x02CD\n\x0c\n\x04\x04\x12\x02\x02\x12\x04\xbf\x02\x083\n\r\n\x05\
\x04\x12\x02\x02\x04\x12\x04\xbf\x02\x08\x10\n\r\n\x05\x04\x12\x02\x02\
\x05\x12\x04\xbf\x02\x11\x17\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\xbf\
\x02\x18.\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\xbf\x0212\n\x0c\n\x04\
\x04\x12\x02\x03\x12\x04\xc0\x02\x081\n\r\n\x05\x04\x12\x02\x03\x04\x12\
\x04\xc0\x02\x08\x10\n\r\n\x05\x04\x12\x02\x03\x05\x12\x04\xc0\x02\x11\
\x18\n\r\n\x05\x04\x12\x02\x03\x01\x12\x04\xc0\x02\x19+\n\r\n\x05\x04\
\x12\x02\x03\x03\x12\x04\xc0\x02.0\n\x0c\n\x04\x04\x12\x02\x04\x12\x04\
\xc1\x02\x082\n\r\n\x05\x04\x12\x02\x04\x04\x12\x04\xc1\x02\x08\x10\n\r\
\n\x05\x04\x12\x02\x04\x05\x12\x04\xc1\x02\x11\x17\n\r\n\x05\x04\x12\x02\
\x04\x01\x12\x04\xc1\x02\x18,\n\r\n\x05\x04\x12\x02\x04\x03\x12\x04\xc1\
\x02/1\n\x0c\n\x04\x04\x12\x02\x05\x12\x04\xc2\x02\x08;\n\r\n\x05\x04\
\x12\x02\x05\x04\x12\x04\xc2\x02\x08\x10\n\r\n\x05\x04\x12\x02\x05\x05\
\x12\x04\xc2\x02\x11\x17\n\r\n\x05\x04\x12\x02\x05\x01\x12\x04\xc2\x02\
\x185\n\r\n\x05\x04\x12\x02\x05\x03\x12\x04\xc2\x028:\n\x0c\n\x04\x04\
\x12\x02\x06\x12\x04\xc3\x02\x08(\n\r\n\x05\x04\x12\x02\x06\x04\x12\x04\
\xc3\x02\x08\x10\n\r\n\x05\x04\x12\x02\x06\x05\x12\x04\xc3\x02\x11\x18\n\
\r\n\x05\x04\x12\x02\x06\x01\x12\x04\xc3\x02\x19\"\n\r\n\x05\x04\x12\x02\
\x06\x03\x12\x04\xc3\x02%'\n\x0c\n\x04\x04\x12\x02\x07\x12\x04\xc4\x02\
\x08-\n\r\n\x05\x04\x12\x02\x07\x04\x12\x04\xc4\x02\x08\x10\n\r\n\x05\
\x04\x12\x02\x07\x05\x12\x04\xc4\x02\x11\x18\n\r\n\x05\x04\x12\x02\x07\
\x01\x12\x04\xc4\x02\x19'\n\r\n\x05\x04\x12\x02\x07\x03\x12\x04\xc4\x02*\
,\n\x0c\n\x04\x04\x12\x02\x08\x12\x04\xc5\x02\x08#\n\r\n\x05\x04\x12\x02\
\x08\x04\x12\x04\xc5\x02\x08\x10\n\r\n\x05\x04\x12\x02\x08\x05\x12\x04\
\xc5\x02\x11\x17\n\r\n\x05\x04\x12\x02\x08\x01\x12\x04\xc5\x02\x18\x1d\n\
\r\n\x05\x04\x12\x02\x08\x03\x12\x04\xc5\x02\x20\"\n\x0c\n\x04\x04\x12\
\x02\t\x12\x04\xc6\x02\x082\n\r\n\x05\x04\x12\x02\t\x04\x12\x04\xc6\x02\
\x08\x10\n\r\n\x05\x04\x12\x02\t\x05\x12\x04\xc6\x02\x11\x18\n\r\n\x05\
\x04\x12\x02\t\x01\x12\x04\xc6\x02\x19-\n\r\n\x05\x04\x12\x02\t\x03\x12\
\x04\xc6\x0201\n\x0c\n\x04\x04\x12\x02\n\x12\x04\xc7\x02\x08(\n\r\n\x05\
\x04\x12\x02\n\x04\x12\x04\xc7\x02\x08\x10\n\r\n\x05\x04\x12\x02\n\x05\
\x12\x04\xc7\x02\x11\x17\n\r\n\x05\x04\x12\x02\n\x01\x12\x04\xc7\x02\x18\
#\n\r\n\x05\x04\x12\x02\n\x03\x12\x04\xc7\x02&'\n\x0c\n\x04\x04\x12\x02\
\x0b\x12\x04\xc8\x02\x08(\n\r\n\x05\x04\x12\x02\x0b\x04\x12\x04\xc8\x02\
\x08\x10\n\r\n\x05\x04\x12\x02\x0b\x05\x12\x04\xc8\x02\x11\x17\n\r\n\x05\
\x04\x12\x02\x0b\x01\x12\x04\xc8\x02\x18#\n\r\n\x05\x04\x12\x02\x0b\x03\
\x12\x04\xc8\x02&'\n\x0c\n\x02\x04\x13\x12\x06\xcb\x02\0\xdf\x02\x01\n\
\x0b\n\x03\x04\x13\x01\x12\x04\xcb\x02\x086\n\x0e\n\x04\x04\x13\x04\0\
\x12\x06\xcc\x02\x08\xd0\x02\t\n\r\n\x05\x04\x13\x04\0\x01\x12\x04\xcc\
\x02\r\x12\n\x0e\n\x06\x04\x13\x04\0\x02\0\x12\x04\xcd\x02\x10&\n\x0f\n\
\x07\x04\x13\x04\0\x02\0\x01\x12\x04\xcd\x02\x10!\n\x0f\n\x07\x04\x13\
\x04\0\x02\0\x02\x12\x04\xcd\x02$%\n\x0e\n\x06\x04\x13\x04\0\x02\x01\x12\
\x04\xce\x02\x10$\n\x0f\n\x07\x04\x13\x04\0\x02\x01\x01\x12\x04\xce\x02\
\x10\x1f\n\x0f\n\x07\x04\x13\x04\0\x02\x01\x02\x12\x04\xce\x02\"#\n\x0e\
\n\x06\x04\x13\x04\0\x02\x02\x12\x04\xcf\x02\x10*\n\x0f\n\x07\x04\x13\
\x04\0\x02\x02\x01\x12\x04\xcf\x02\x10%\n\x0f\n\x07\x04\x13\x04\0\x02\
\x02\x02\x12\x04\xcf\x02()\n\x0c\n\x04\x04\x13\x02\0\x12\x04\xd2\x02\x08\
G\n\r\n\x05\x04\x13\x02\0\x04\x12\x04\xd2\x02\x08\x10\n\r\n\x05\x04\x13\
\x02\0\x06\x12\x04\xd2\x02\x114\n\r\n\x05\x04\x13\x02\0\x01\x12\x04\xd2\
\x025B\n\r\n\x05\x04\x13\x02\0\x03\x12\x04\xd2\x02EF\n\x0c\n\x04\x04\x13\
\x02\x01\x12\x04\xd3\x02\x08E\n\r\n\x05\x04\x13\x02\x01\x04\x12\x04\xd3\
\x02\x08\x10\n\r\n\x05\x04\x13\x02\x01\x06\x12\x04\xd3\x02\x114\n\r\n\
\x05\x04\x13\x02\x01\x01\x12\x04\xd3\x025@\n\r\n\x05\x04\x13\x02\x01\x03\
\x12\x04\xd3\x02CD\n\x0c\n\x04\x04\x13\x02\x02\x12\x04\xd4\x02\x08(\n\r\
\n\x05\x04\x13\x02\x02\x04\x12\x04\xd4\x02\x08\x10\n\r\n\x05\x04\x13\x02\
\x02\x05\x12\x04\xd4\x02\x11\x18\n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\
\xd4\x02\x19\"\n\r\n\x05\x04\x13\x02\x02\x03\x12\x04\xd4\x02%'\n\x0c\n\
\x04\x04\x13\x02\x03\x12\x04\xd5\x02\x08-\n\r\n\x05\x04\x13\x02\x03\x04\
\x12\x04\xd5\x02\x08\x10\n\r\n\x05\x04\x13\x02\x03\x05\x12\x04\xd5\x02\
\x11\x18\n\r\n\x05\x04\x13\x02\x03\x01\x12\x04\xd5\x02\x19'\n\r\n\x05\
\x04\x13\x02\x03\x03\x12\x04\xd5\x02*,\n\x0c\n\x04\x04\x13\x02\x04\x12\
\x04\xd6\x02\x08#\n\r\n\x05\x04\x13\x02\x04\x04\x12\x04\xd6\x02\x08\x10\
\n\r\n\x05\x04\x13\x02\x04\x05\x12\x04\xd6\x02\x11\x17\n\r\n\x05\x04\x13\
\x02\x04\x01\x12\x04\xd6\x02\x18\x1d\n\r\n\x05\x04\x13\x02\x04\x03\x12\
\x04\xd6\x02\x20\"\n\x0c\n\x04\x04\x13\x02\x05\x12\x04\xd7\x02\x08(\n\r\
\n\x05\x04\x13\x02\x05\x04\x12\x04\xd7\x02\x08\x10\n\r\n\x05\x04\x13\x02\
\x05\x05\x12\x04\xd7\x02\x11\x17\n\r\n\x05\x04\x13\x02\x05\x01\x12\x04\
\xd7\x02\x18#\n\r\n\x05\x04\x13\x02\x05\x03\x12\x04\xd7\x02&'\n\x0c\n\
\x04\x04\x13\x02\x06\x12\x04\xd8\x02\x08(\n\r\n\x05\x04\x13\x02\x06\x04\
\x12\x04\xd8\x02\x08\x10\n\r\n\x05\x04\x13\x02\x06\x05\x12\x04\xd8\x02\
\x11\x17\n\r\n\x05\x04\x13\x02\x06\x01\x12\x04\xd8\x02\x18#\n\r\n\x05\
\x04\x13\x02\x06\x03\x12\x04\xd8\x02&'\n\x0c\n\x04\x04\x13\x02\x07\x12\
\x04\xd9\x02\x084\n\r\n\x05\x04\x13\x02\x07\x04\x12\x04\xd9\x02\x08\x10\
\n\r\n\x05\x04\x13\x02\x07\x05\x12\x04\xd9\x02\x11\x17\n\r\n\x05\x04\x13\
\x02\x07\x01\x12\x04\xd9\x02\x18.\n\r\n\x05\x04\x13\x02\x07\x03\x12\x04\
\xd9\x0213\n\x0c\n\x04\x04\x13\x02\x08\x12\x04\xda\x02\x084\n\r\n\x05\
\x04\x13\x02\x08\x04\x12\x04\xda\x02\x08\x10\n\r\n\x05\x04\x13\x02\x08\
\x05\x12\x04\xda\x02\x11\x18\n\r\n\x05\x04\x13\x02\x08\x01\x12\x04\xda\
\x02\x19/\n\r\n\x05\x04\x13\x02\x08\x03\x12\x04\xda\x0223\n\x0c\n\x04\
\x04\x13\x02\t\x12\x04\xdb\x02\x08-\n\r\n\x05\x04\x13\x02\t\x04\x12\x04\
\xdb\x02\x08\x10\n\r\n\x05\x04\x13\x02\t\x05\x12\x04\xdb\x02\x11\x17\n\r\
\n\x05\x04\x13\x02\t\x01\x12\x04\xdb\x02\x18(\n\r\n\x05\x04\x13\x02\t\
\x03\x12\x04\xdb\x02+,\n\x0c\n\x04\x04\x13\x02\n\x12\x04\xdc\x02\x082\n\
\r\n\x05\x04\x13\x02\n\x04\x12\x04\xdc\x02\x08\x10\n\r\n\x05\x04\x13\x02\
\n\x05\x12\x04\xdc\x02\x11\x18\n\r\n\x05\x04\x13\x02\n\x01\x12\x04\xdc\
\x02\x19-\n\r\n\x05\x04\x13\x02\n\x03\x12\x04\xdc\x0201\n\x0c\n\x04\x04\
\x13\x02\x0b\x12\x04\xdd\x02\x083\n\r\n\x05\x04\x13\x02\x0b\x04\x12\x04\
\xdd\x02\x08\x10\n\r\n\x05\x04\x13\x02\x0b\x05\x12\x04\xdd\x02\x11\x18\n\
\r\n\x05\x04\x13\x02\x0b\x01\x12\x04\xdd\x02\x19-\n\r\n\x05\x04\x13\x02\
\x0b\x03\x12\x04\xdd\x0202\n\x0c\n\x04\x04\x13\x02\x0c\x12\x04\xde\x02\
\x08-\n\r\n\x05\x04\x13\x02\x0c\x04\x12\x04\xde\x02\x08\x10\n\r\n\x05\
\x04\x13\x02\x0c\x05\x12\x04\xde\x02\x11\x18\n\r\n\x05\x04\x13\x02\x0c\
\x01\x12\x04\xde\x02\x19'\n\r\n\x05\x04\x13\x02\x0c\x03\x12\x04\xde\x02*\
,\n\x0c\n\x02\x04\x14\x12\x06\xe1\x02\0\xf2\x02\x01\n\x0b\n\x03\x04\x14\
\x01\x12\x04\xe1\x02\x086\n\x0e\n\x04\x04\x14\x04\0\x12\x06\xe2\x02\x08\
\xe6\x02\t\n\r\n\x05\x04\x14\x04\0\x01\x12\x04\xe2\x02\r\x12\n\x0e\n\x06\
\x04\x14\x04\0\x02\0\x12\x04\xe3\x02\x10&\n\x0f\n\x07\x04\x14\x04\0\x02\
\0\x01\x12\x04\xe3\x02\x10!\n\x0f\n\x07\x04\x14\x04\0\x02\0\x02\x12\x04\
\xe3\x02$%\n\x0e\n\x06\x04\x14\x04\0\x02\x01\x12\x04\xe4\x02\x10$\n\x0f\
\n\x07\x04\x14\x04\0\x02\x01\x01\x12\x04\xe4\x02\x10\x1f\n\x0f\n\x07\x04\
\x14\x04\0\x02\x01\x02\x12\x04\xe4\x02\"#\n\x0e\n\x06\x04\x14\x04\0\x02\
\x02\x12\x04\xe5\x02\x10*\n\x0f\n\x07\x04\x14\x04\0\x02\x02\x01\x12\x04\
\xe5\x02\x10%\n\x0f\n\x07\x04\x14\x04\0\x02\x02\x02\x12\x04\xe5\x02()\n\
\x0c\n\x04\x04\x14\x02\0\x12\x04\xe8\x02\x08G\n\r\n\x05\x04\x14\x02\0\
\x04\x12\x04\xe8\x02\x08\x10\n\r\n\x05\x04\x14\x02\0\x06\x12\x04\xe8\x02\
\x114\n\r\n\x05\x04\x14\x02\0\x01\x12\x04\xe8\x025B\n\r\n\x05\x04\x14\
\x02\0\x03\x12\x04\xe8\x02EF\n\x0c\n\x04\x04\x14\x02\x01\x12\x04\xe9\x02\
\x08E\n\r\n\x05\x04\x14\x02\x01\x04\x12\x04\xe9\x02\x08\x10\n\r\n\x05\
\x04\x14\x02\x01\x06\x12\x04\xe9\x02\x114\n\r\n\x05\x04\x14\x02\x01\x01\
\x12\x04\xe9\x025@\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xe9\x02CD\n\x0c\
\n\x04\x04\x14\x02\x02\x12\x04\xea\x02\x08'\n\r\n\x05\x04\x14\x02\x02\
\x04\x12\x04\xea\x02\x08\x10\n\r\n\x05\x04\x14\x02\x02\x05\x12\x04\xea\
\x02\x11\x18\n\r\n\x05\x04\x14\x02\x02\x01\x12\x04\xea\x02\x19\"\n\r\n\
\x05\x04\x14\x02\x02\x03\x12\x04\xea\x02%&\n\x0c\n\x04\x04\x14\x02\x03\
\x12\x04\xeb\x02\x08,\n\r\n\x05\x04\x14\x02\x03\x04\x12\x04\xeb\x02\x08\
\x10\n\r\n\x05\x04\x14\x02\x03\x05\x12\x04\xeb\x02\x11\x18\n\r\n\x05\x04\
\x14\x02\x03\x01\x12\x04\xeb\x02\x19'\n\r\n\x05\x04\x14\x02\x03\x03\x12\
\x04\xeb\x02*+\n\x0c\n\x04\x04\x14\x02\x04\x12\x04\xec\x02\x08#\n\r\n\
\x05\x04\x14\x02\x04\x04\x12\x04\xec\x02\x08\x10\n\r\n\x05\x04\x14\x02\
\x04\x05\x12\x04\xec\x02\x11\x17\n\r\n\x05\x04\x14\x02\x04\x01\x12\x04\
\xec\x02\x18\x1d\n\r\n\x05\x04\x14\x02\x04\x03\x12\x04\xec\x02\x20\"\n\
\x0c\n\x04\x04\x14\x02\x05\x12\x04\xed\x02\x08(\n\r\n\x05\x04\x14\x02\
\x05\x04\x12\x04\xed\x02\x08\x10\n\r\n\x05\x04\x14\x02\x05\x05\x12\x04\
\xed\x02\x11\x17\n\r\n\x05\x04\x14\x02\x05\x01\x12\x04\xed\x02\x18#\n\r\
\n\x05\x04\x14\x02\x05\x03\x12\x04\xed\x02&'\n\x0c\n\x04\x04\x14\x02\x06\
\x12\x04\xee\x02\x08(\n\r\n\x05\x04\x14\x02\x06\x04\x12\x04\xee\x02\x08\
\x10\n\r\n\x05\x04\x14\x02\x06\x05\x12\x04\xee\x02\x11\x17\n\r\n\x05\x04\
\x14\x02\x06\x01\x12\x04\xee\x02\x18#\n\r\n\x05\x04\x14\x02\x06\x03\x12\
\x04\xee\x02&'\n\x0c\n\x04\x04\x14\x02\x07\x12\x04\xef\x02\x08-\n\r\n\
\x05\x04\x14\x02\x07\x04\x12\x04\xef\x02\x08\x10\n\r\n\x05\x04\x14\x02\
\x07\x05\x12\x04\xef\x02\x11\x17\n\r\n\x05\x04\x14\x02\x07\x01\x12\x04\
\xef\x02\x18(\n\r\n\x05\x04\x14\x02\x07\x03\x12\x04\xef\x02+,\n\x0c\n\
\x04\x04\x14\x02\x08\x12\x04\xf0\x02\x082\n\r\n\x05\x04\x14\x02\x08\x04\
\x12\x04\xf0\x02\x08\x10\n\r\n\x05\x04\x14\x02\x08\x05\x12\x04\xf0\x02\
\x11\x18\n\r\n\x05\x04\x14\x02\x08\x01\x12\x04\xf0\x02\x19-\n\r\n\x05\
\x04\x14\x02\x08\x03\x12\x04\xf0\x0201\n\x0c\n\x04\x04\x14\x02\t\x12\x04\
\xf1\x02\x083\n\r\n\x05\x04\x14\x02\t\x04\x12\x04\xf1\x02\x08\x10\n\r\n\
\x05\x04\x14\x02\t\x05\x12\x04\xf1\x02\x11\x18\n\r\n\x05\x04\x14\x02\t\
\x01\x12\x04\xf1\x02\x19-\n\r\n\x05\x04\x14\x02\t\x03\x12\x04\xf1\x0202\
\n\x0c\n\x02\x04\x15\x12\x06\xf4\x02\0\x80\x03\x01\n\x0b\n\x03\x04\x15\
\x01\x12\x04\xf4\x02\x08.\n\x0c\n\x04\x04\x15\x02\0\x12\x04\xf5\x02\x08,\
\n\r\n\x05\x04\x15\x02\0\x04\x12\x04\xf5\x02\x08\x10\n\r\n\x05\x04\x15\
\x02\0\x05\x12\x04\xf5\x02\x11\x18\n\r\n\x05\x04\x15\x02\0\x01\x12\x04\
\xf5\x02\x19'\n\r\n\x05\x04\x15\x02\0\x03\x12\x04\xf5\x02*+\n\x0c\n\x04\
\x04\x15\x02\x01\x12\x04\xf6\x02\x08'\n\r\n\x05\x04\x15\x02\x01\x04\x12\
\x04\xf6\x02\x08\x10\n\r\n\x05\x04\x15\x02\x01\x05\x12\x04\xf6\x02\x11\
\x18\n\r\n\x05\x04\x15\x02\x01\x01\x12\x04\xf6\x02\x19\"\n\r\n\x05\x04\
\x15\x02\x01\x03\x12\x04\xf6\x02%&\n\x0c\n\x04\x04\x15\x02\x02\x12\x04\
\xf7\x02\x082\n\r\n\x05\x04\x15\x02\x02\x04\x12\x04\xf7\x02\x08\x10\n\r\
\n\x05\x04\x15\x02\x02\x05\x12\x04\xf7\x02\x11\x18\n\r\n\x05\x04\x15\x02\
\x02\x01\x12\x04\xf7\x02\x19-\n\r\n\x05\x04\x15\x02\x02\x03\x12\x04\xf7\
\x0201\n\x0c\n\x04\x04\x15\x02\x03\x12\x04\xf8\x02\x082\n\r\n\x05\x04\
\x15\x02\x03\x04\x12\x04\xf8\x02\x08\x10\n\r\n\x05\x04\x15\x02\x03\x05\
\x12\x04\xf8\x02\x11\x18\n\r\n\x05\x04\x15\x02\x03\x01\x12\x04\xf8\x02\
\x19-\n\r\n\x05\x04\x15\x02\x03\x03\x12\x04\xf8\x0201\n\x0c\n\x04\x04\
\x15\x02\x04\x12\x04\xf9\x02\x082\n\r\n\x05\x04\x15\x02\x04\x04\x12\x04\
\xf9\x02\x08\x10\n\r\n\x05\x04\x15\x02\x04\x05\x12\x04\xf9\x02\x11\x17\n\
\r\n\x05\x04\x15\x02\x04\x01\x12\x04\xf9\x02\x18,\n\r\n\x05\x04\x15\x02\
\x04\x03\x12\x04\xf9\x02/1\n\x0c\n\x04\x04\x15\x02\x05\x12\x04\xfa\x02\
\x080\n\r\n\x05\x04\x15\x02\x05\x04\x12\x04\xfa\x02\x08\x10\n\r\n\x05\
\x04\x15\x02\x05\x05\x12\x04\xfa\x02\x11\x18\n\r\n\x05\x04\x15\x02\x05\
\x01\x12\x04\xfa\x02\x19+\n\r\n\x05\x04\x15\x02\x05\x03\x12\x04\xfa\x02.\
/\n\x0c\n\x04\x04\x15\x02\x06\x12\x04\xfb\x02\x08-\n\r\n\x05\x04\x15\x02\
\x06\x04\x12\x04\xfb\x02\x08\x10\n\r\n\x05\x04\x15\x02\x06\x05\x12\x04\
\xfb\x02\x11\x17\n\r\n\x05\x04\x15\x02\x06\x01\x12\x04\xfb\x02\x18(\n\r\
\n\x05\x04\x15\x02\x06\x03\x12\x04\xfb\x02+,\n\x0c\n\x04\x04\x15\x02\x07\
\x12\x04\xfc\x02\x083\n\r\n\x05\x04\x15\x02\x07\x04\x12\x04\xfc\x02\x08\
\x10\n\r\n\x05\x04\x15\x02\x07\x05\x12\x04\xfc\x02\x11\x17\n\r\n\x05\x04\
\x15\x02\x07\x01\x12\x04\xfc\x02\x18.\n\r\n\x05\x04\x15\x02\x07\x03\x12\
\x04\xfc\x0212\n\x0c\n\x04\x04\x15\x02\x08\x12\x04\xfd\x02\x08/\n\r\n\
\x05\x04\x15\x02\x08\x04\x12\x04\xfd\x02\x08\x10\n\r\n\x05\x04\x15\x02\
\x08\x05\x12\x04\xfd\x02\x11\x18\n\r\n\x05\x04\x15\x02\x08\x01\x12\x04\
\xfd\x02\x19)\n\r\n\x05\x04\x15\x02\x08\x03\x12\x04\xfd\x02,.\n\x0c\n\
\x04\x04\x15\x02\t\x12\x04\xfe\x02\x08&\n\r\n\x05\x04\x15\x02\t\x04\x12\
\x04\xfe\x02\x08\x10\n\r\n\x05\x04\x15\x02\t\x05\x12\x04\xfe\x02\x11\x17\
\n\r\n\x05\x04\x15\x02\t\x01\x12\x04\xfe\x02\x18\x20\n\r\n\x05\x04\x15\
\x02\t\x03\x12\x04\xfe\x02#%\n\x0c\n\x04\x04\x15\x02\n\x12\x04\xff\x02\
\x08#\n\r\n\x05\x04\x15\x02\n\x04\x12\x04\xff\x02\x08\x10\n\r\n\x05\x04\
\x15\x02\n\x05\x12\x04\xff\x02\x11\x17\n\r\n\x05\x04\x15\x02\n\x01\x12\
\x04\xff\x02\x18\x1d\n\r\n\x05\x04\x15\x02\n\x03\x12\x04\xff\x02\x20\"\n\
\x0c\n\x02\x04\x16\x12\x06\x82\x03\0\x86\x03\x01\n\x0b\n\x03\x04\x16\x01\
\x12\x04\x82\x03\x08*\n\x0c\n\x04\x04\x16\x02\0\x12\x04\x83\x03\x08>\n\r\
\n\x05\x04\x16\x02\0\x04\x12\x04\x83\x03\x08\x10\n\r\n\x05\x04\x16\x02\0\
\x06\x12\x04\x83\x03\x114\n\r\n\x05\x04\x16\x02\0\x01\x12\x04\x83\x0359\
\n\r\n\x05\x04\x16\x02\0\x03\x12\x04\x83\x03<=\n\x0c\n\x04\x04\x16\x02\
\x01\x12\x04\x84\x03\x08\x20\n\r\n\x05\x04\x16\x02\x01\x04\x12\x04\x84\
\x03\x08\x10\n\r\n\x05\x04\x16\x02\x01\x05\x12\x04\x84\x03\x11\x16\n\r\n\
\x05\x04\x16\x02\x01\x01\x12\x04\x84\x03\x17\x1b\n\r\n\x05\x04\x16\x02\
\x01\x03\x12\x04\x84\x03\x1e\x1f\n\x0c\n\x04\x04\x16\x02\x02\x12\x04\x85\
\x03\x08%\n\r\n\x05\x04\x16\x02\x02\x04\x12\x04\x85\x03\x08\x10\n\r\n\
\x05\x04\x16\x02\x02\x05\x12\x04\x85\x03\x11\x16\n\r\n\x05\x04\x16\x02\
\x02\x01\x12\x04\x85\x03\x17\x20\n\r\n\x05\x04\x16\x02\x02\x03\x12\x04\
\x85\x03#$\n\x0c\n\x02\x04\x17\x12\x06\x88\x03\0\x8d\x03\x01\n\x0b\n\x03\
\x04\x17\x01\x12\x04\x88\x03\x08.\n\x0c\n\x04\x04\x17\x02\0\x12\x04\x89\
\x03\x08+\n\r\n\x05\x04\x17\x02\0\x04\x12\x04\x89\x03\x08\x10\n\r\n\x05\
\x04\x17\x02\0\x05\x12\x04\x89\x03\x11\x18\n\r\n\x05\x04\x17\x02\0\x01\
\x12\x04\x89\x03\x19&\n\r\n\x05\x04\x17\x02\0\x03\x12\x04\x89\x03)*\n\
\x0c\n\x04\x04\x17\x02\x01\x12\x04\x8a\x03\x083\n\r\n\x05\x04\x17\x02\
\x01\x04\x12\x04\x8a\x03\x08\x10\n\r\n\x05\x04\x17\x02\x01\x05\x12\x04\
\x8a\x03\x11\x17\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\x8a\x03\x18.\n\r\
\n\x05\x04\x17\x02\x01\x03\x12\x04\x8a\x0312\n\x0c\n\x04\x04\x17\x02\x02\
\x12\x04\x8b\x03\x08/\n\r\n\x05\x04\x17\x02\x02\x04\x12\x04\x8b\x03\x08\
\x10\n\r\n\x05\x04\x17\x02\x02\x05\x12\x04\x8b\x03\x11\x16\n\r\n\x05\x04\
\x17\x02\x02\x01\x12\x04\x8b\x03\x17*\n\r\n\x05\x04\x17\x02\x02\x03\x12\
\x04\x8b\x03-.\n\x0c\n\x04\x04\x17\x02\x03\x12\x04\x8c\x03\x08(\n\r\n\
\x05\x04\x17\x02\x03\x04\x12\x04\x8c\x03\x08\x10\n\r\n\x05\x04\x17\x02\
\x03\x05\x12\x04\x8c\x03\x11\x17\n\r\n\x05\x04\x17\x02\x03\x01\x12\x04\
\x8c\x03\x18#\n\r\n\x05\x04\x17\x02\x03\x03\x12\x04\x8c\x03&'\n\x0c\n\
\x02\x04\x18\x12\x06\x8f\x03\0\xa5\x03\x01\n\x0b\n\x03\x04\x18\x01\x12\
\x04\x8f\x03\x089\n\x0e\n\x04\x04\x18\x04\0\x12\x06\x90\x03\x08\x96\x03\
\t\n\r\n\x05\x04\x18\x04\0\x01\x12\x04\x90\x03\r\x12\n\x0e\n\x06\x04\x18\
\x04\0\x02\0\x12\x04\x91\x03\x10&\n\x0f\n\x07\x04\x18\x04\0\x02\0\x01\
\x12\x04\x91\x03\x10!\n\x0f\n\x07\x04\x18\x04\0\x02\0\x02\x12\x04\x91\
\x03$%\n\x0e\n\x06\x04\x18\x04\0\x02\x01\x12\x04\x92\x03\x10$\n\x0f\n\
\x07\x04\x18\x04\0\x02\x01\x01\x12\x04\x92\x03\x10\x1f\n\x0f\n\x07\x04\
\x18\x04\0\x02\x01\x02\x12\x04\x92\x03\"#\n\x0e\n\x06\x04\x18\x04\0\x02\
\x02\x12\x04\x93\x03\x10*\n\x0f\n\x07\x04\x18\x04\0\x02\x02\x01\x12\x04\
\x93\x03\x10%\n\x0f\n\x07\x04\x18\x04\0\x02\x02\x02\x12\x04\x93\x03()\n\
\x0e\n\x06\x04\x18\x04\0\x02\x03\x12\x04\x94\x03\x10(\n\x0f\n\x07\x04\
\x18\x04\0\x02\x03\x01\x12\x04\x94\x03\x10#\n\x0f\n\x07\x04\x18\x04\0\
\x02\x03\x02\x12\x04\x94\x03&'\n\x0e\n\x06\x04\x18\x04\0\x02\x04\x12\x04\
\x95\x03\x10/\n\x0f\n\x07\x04\x18\x04\0\x02\x04\x01\x12\x04\x95\x03\x10)\
\n\x0f\n\x07\x04\x18\x04\0\x02\x04\x02\x12\x04\x95\x03,.\n\x0c\n\x04\x04\
\x18\x02\0\x12\x04\x98\x03\x08G\n\r\n\x05\x04\x18\x02\0\x04\x12\x04\x98\
\x03\x08\x10\n\r\n\x05\x04\x18\x02\0\x06\x12\x04\x98\x03\x114\n\r\n\x05\
\x04\x18\x02\0\x01\x12\x04\x98\x035B\n\r\n\x05\x04\x18\x02\0\x03\x12\x04\
\x98\x03EF\n\x0c\n\x04\x04\x18\x02\x01\x12\x04\x99\x03\x08E\n\r\n\x05\
\x04\x18\x02\x01\x04\x12\x04\x99\x03\x08\x10\n\r\n\x05\x04\x18\x02\x01\
\x06\x12\x04\x99\x03\x114\n\r\n\x05\x04\x18\x02\x01\x01\x12\x04\x99\x035\
@\n\r\n\x05\x04\x18\x02\x01\x03\x12\x04\x99\x03CD\n\x0c\n\x04\x04\x18\
\x02\x02\x12\x04\x9a\x03\x08N\n\r\n\x05\x04\x18\x02\x02\x04\x12\x04\x9a\
\x03\x08\x10\n\r\n\x05\x04\x18\x02\x02\x06\x12\x04\x9a\x03\x114\n\r\n\
\x05\x04\x18\x02\x02\x01\x12\x04\x9a\x035H\n\r\n\x05\x04\x18\x02\x02\x03\
\x12\x04\x9a\x03KM\n\x0c\n\x04\x04\x18\x02\x03\x12\x04\x9b\x03\x08'\n\r\
\n\x05\x04\x18\x02\x03\x04\x12\x04\x9b\x03\x08\x10\n\r\n\x05\x04\x18\x02\
\x03\x05\x12\x04\x9b\x03\x11\x18\n\r\n\x05\x04\x18\x02\x03\x01\x12\x04\
\x9b\x03\x19\"\n\r\n\x05\x04\x18\x02\x03\x03\x12\x04\x9b\x03%&\n\x0c\n\
\x04\x04\x18\x02\x04\x12\x04\x9c\x03\x08,\n\r\n\x05\x04\x18\x02\x04\x04\
\x12\x04\x9c\x03\x08\x10\n\r\n\x05\x04\x18\x02\x04\x05\x12\x04\x9c\x03\
\x11\x18\n\r\n\x05\x04\x18\x02\x04\x01\x12\x04\x9c\x03\x19'\n\r\n\x05\
\x04\x18\x02\x04\x03\x12\x04\x9c\x03*+\n\x0c\n\x04\x04\x18\x02\x05\x12\
\x04\x9d\x03\x08\"\n\r\n\x05\x04\x18\x02\x05\x04\x12\x04\x9d\x03\x08\x10\
\n\r\n\x05\x04\x18\x02\x05\x05\x12\x04\x9d\x03\x11\x17\n\r\n\x05\x04\x18\
\x02\x05\x01\x12\x04\x9d\x03\x18\x1d\n\r\n\x05\x04\x18\x02\x05\x03\x12\
\x04\x9d\x03\x20!\n\x0c\n\x04\x04\x18\x02\x06\x12\x04\x9e\x03\x08>\n\r\n\
\x05\x04\x18\x02\x06\x04\x12\x04\x9e\x03\x08\x10\n\r\n\x05\x04\x18\x02\
\x06\x05\x12\x04\x9e\x03\x11\x16\n\r\n\x05\x04\x18\x02\x06\x01\x12\x04\
\x9e\x03\x179\n\r\n\x05\x04\x18\x02\x06\x03\x12\x04\x9e\x03<=\n\x0c\n\
\x04\x04\x18\x02\x07\x12\x04\x9f\x03\x084\n\r\n\x05\x04\x18\x02\x07\x04\
\x12\x04\x9f\x03\x08\x10\n\r\n\x05\x04\x18\x02\x07\x05\x12\x04\x9f\x03\
\x11\x17\n\r\n\x05\x04\x18\x02\x07\x01\x12\x04\x9f\x03\x18/\n\r\n\x05\
\x04\x18\x02\x07\x03\x12\x04\x9f\x0323\n\x0c\n\x04\x04\x18\x02\x08\x12\
\x04\xa0\x03\x08\"\n\r\n\x05\x04\x18\x02\x08\x04\x12\x04\xa0\x03\x08\x10\
\n\r\n\x05\x04\x18\x02\x08\x05\x12\x04\xa0\x03\x11\x16\n\r\n\x05\x04\x18\
\x02\x08\x01\x12\x04\xa0\x03\x17\x1d\n\r\n\x05\x04\x18\x02\x08\x03\x12\
\x04\xa0\x03\x20!\n\x0c\n\x04\x04\x18\x02\t\x12\x04\xa1\x03\x085\n\r\n\
\x05\x04\x18\x02\t\x04\x12\x04\xa1\x03\x08\x10\n\r\n\x05\x04\x18\x02\t\
\x05\x12\x04\xa1\x03\x11\x17\n\r\n\x05\x04\x18\x02\t\x01\x12\x04\xa1\x03\
\x180\n\r\n\x05\x04\x18\x02\t\x03\x12\x04\xa1\x0334\n\x0c\n\x04\x04\x18\
\x02\n\x12\x04\xa2\x03\x08,\n\r\n\x05\x04\x18\x02\n\x04\x12\x04\xa2\x03\
\x08\x10\n\r\n\x05\x04\x18\x02\n\x05\x12\x04\xa2\x03\x11\x18\n\r\n\x05\
\x04\x18\x02\n\x01\x12\x04\xa2\x03\x19&\n\r\n\x05\x04\x18\x02\n\x03\x12\
\x04\xa2\x03)+\n\x0c\n\x04\x04\x18\x02\x0b\x12\x04\xa3\x03\x08)\n\r\n\
\x05\x04\x18\x02\x0b\x04\x12\x04\xa3\x03\x08\x10\n\r\n\x05\x04\x18\x02\
\x0b\x05\x12\x04\xa3\x03\x11\x17\n\r\n\x05\x04\x18\x02\x0b\x01\x12\x04\
\xa3\x03\x18#\n\r\n\x05\x04\x18\x02\x0b\x03\x12\x04\xa3\x03&(\n\x0c\n\
\x04\x04\x18\x02\x0c\x12\x04\xa4\x03\x08)\n\r\n\x05\x04\x18\x02\x0c\x04\
\x12\x04\xa4\x03\x08\x10\n\r\n\x05\x04\x18\x02\x0c\x05\x12\x04\xa4\x03\
\x11\x17\n\r\n\x05\x04\x18\x02\x0c\x01\x12\x04\xa4\x03\x18#\n\r\n\x05\
\x04\x18\x02\x0c\x03\x12\x04\xa4\x03&(\n\x0c\n\x02\x04\x19\x12\x06\xa7\
\x03\0\xbe\x03\x01\n\x0b\n\x03\x04\x19\x01\x12\x04\xa7\x03\x089\n\x0e\n\
\x04\x04\x19\x04\0\x12\x06\xa8\x03\x08\xad\x03\t\n\r\n\x05\x04\x19\x04\0\
\x01\x12\x04\xa8\x03\r\x12\n\x0e\n\x06\x04\x19\x04\0\x02\0\x12\x04\xa9\
\x03\x10&\n\x0f\n\x07\x04\x19\x04\0\x02\0\x01\x12\x04\xa9\x03\x10!\n\x0f\
\n\x07\x04\x19\x04\0\x02\0\x02\x12\x04\xa9\x03$%\n\x0e\n\x06\x04\x19\x04\
\0\x02\x01\x12\x04\xaa\x03\x10$\n\x0f\n\x07\x04\x19\x04\0\x02\x01\x01\
\x12\x04\xaa\x03\x10\x1f\n\x0f\n\x07\x04\x19\x04\0\x02\x01\x02\x12\x04\
\xaa\x03\"#\n\x0e\n\x06\x04\x19\x04\0\x02\x02\x12\x04\xab\x03\x10*\n\x0f\
\n\x07\x04\x19\x04\0\x02\x02\x01\x12\x04\xab\x03\x10%\n\x0f\n\x07\x04\
\x19\x04\0\x02\x02\x02\x12\x04\xab\x03()\n\x0e\n\x06\x04\x19\x04\0\x02\
\x03\x12\x04\xac\x03\x10/\n\x0f\n\x07\x04\x19\x04\0\x02\x03\x01\x12\x04\
\xac\x03\x10)\n\x0f\n\x07\x04\x19\x04\0\x02\x03\x02\x12\x04\xac\x03,.\n\
\x0c\n\x04\x04\x19\x02\0\x12\x04\xaf\x03\x08G\n\r\n\x05\x04\x19\x02\0\
\x04\x12\x04\xaf\x03\x08\x10\n\r\n\x05\x04\x19\x02\0\x06\x12\x04\xaf\x03\
\x114\n\r\n\x05\x04\x19\x02\0\x01\x12\x04\xaf\x035B\n\r\n\x05\x04\x19\
\x02\0\x03\x12\x04\xaf\x03EF\n\x0c\n\x04\x04\x19\x02\x01\x12\x04\xb0\x03\
\x08E\n\r\n\x05\x04\x19\x02\x01\x04\x12\x04\xb0\x03\x08\x10\n\r\n\x05\
\x04\x19\x02\x01\x06\x12\x04\xb0\x03\x114\n\r\n\x05\x04\x19\x02\x01\x01\
\x12\x04\xb0\x035@\n\r\n\x05\x04\x19\x02\x01\x03\x12\x04\xb0\x03CD\n\x0c\
\n\x04\x04\x19\x02\x02\x12\x04\xb1\x03\x083\n\r\n\x05\x04\x19\x02\x02\
\x04\x12\x04\xb1\x03\x08\x10\n\r\n\x05\x04\x19\x02\x02\x05\x12\x04\xb1\
\x03\x11\x17\n\r\n\x05\x04\x19\x02\x02\x01\x12\x04\xb1\x03\x18.\n\r\n\
\x05\x04\x19\x02\x02\x03\x12\x04\xb1\x0312\n\x0c\n\x04\x04\x19\x02\x03\
\x12\x04\xb2\x03\x080\n\r\n\x05\x04\x19\x02\x03\x04\x12\x04\xb2\x03\x08\
\x10\n\r\n\x05\x04\x19\x02\x03\x05\x12\x04\xb2\x03\x11\x18\n\r\n\x05\x04\
\x19\x02\x03\x01\x12\x04\xb2\x03\x19+\n\r\n\x05\x04\x19\x02\x03\x03\x12\
\x04\xb2\x03./\n\x0c\n\x04\x04\x19\x02\x04\x12\x04\xb3\x03\x081\n\r\n\
\x05\x04\x19\x02\x04\x04\x12\x04\xb3\x03\x08\x10\n\r\n\x05\x04\x19\x02\
\x04\x05\x12\x04\xb3\x03\x11\x17\n\r\n\x05\x04\x19\x02\x04\x01\x12\x04\
\xb3\x03\x18,\n\r\n\x05\x04\x19\x02\x04\x03\x12\x04\xb3\x03/0\n\x0c\n\
\x04\x04\x19\x02\x05\x12\x04\xb4\x03\x08:\n\r\n\x05\x04\x19\x02\x05\x04\
\x12\x04\xb4\x03\x08\x10\n\r\n\x05\x04\x19\x02\x05\x05\x12\x04\xb4\x03\
\x11\x17\n\r\n\x05\x04\x19\x02\x05\x01\x12\x04\xb4\x03\x185\n\r\n\x05\
\x04\x19\x02\x05\x03\x12\x04\xb4\x0389\n\x0c\n\x04\x04\x19\x02\x06\x12\
\x04\xb5\x03\x08'\n\r\n\x05\x04\x19\x02\x06\x04\x12\x04\xb5\x03\x08\x10\
\n\r\n\x05\x04\x19\x02\x06\x05\x12\x04\xb5\x03\x11\x18\n\r\n\x05\x04\x19\
\x02\x06\x01\x12\x04\xb5\x03\x19\"\n\r\n\x05\x04\x19\x02\x06\x03\x12\x04\
\xb5\x03%&\n\x0c\n\x04\x04\x19\x02\x07\x12\x04\xb6\x03\x08,\n\r\n\x05\
\x04\x19\x02\x07\x04\x12\x04\xb6\x03\x08\x10\n\r\n\x05\x04\x19\x02\x07\
\x05\x12\x04\xb6\x03\x11\x18\n\r\n\x05\x04\x19\x02\x07\x01\x12\x04\xb6\
\x03\x19'\n\r\n\x05\x04\x19\x02\x07\x03\x12\x04\xb6\x03*+\n\x0c\n\x04\
\x04\x19\x02\x08\x12\x04\xb7\x03\x08\"\n\r\n\x05\x04\x19\x02\x08\x04\x12\
\x04\xb7\x03\x08\x10\n\r\n\x05\x04\x19\x02\x08\x05\x12\x04\xb7\x03\x11\
\x17\n\r\n\x05\x04\x19\x02\x08\x01\x12\x04\xb7\x03\x18\x1d\n\r\n\x05\x04\
\x19\x02\x08\x03\x12\x04\xb7\x03\x20!\n\x0c\n\x04\x04\x19\x02\t\x12\x04\
\xb8\x03\x089\n\r\n\x05\x04\x19\x02\t\x04\x12\x04\xb8\x03\x08\x10\n\r\n\
\x05\x04\x19\x02\t\x05\x12\x04\xb8\x03\x11\x17\n\r\n\x05\x04\x19\x02\t\
\x01\x12\x04\xb8\x03\x183\n\r\n\x05\x04\x19\x02\t\x03\x12\x04\xb8\x0368\
\n\x0c\n\x04\x04\x19\x02\n\x12\x04\xb9\x03\x08#\n\r\n\x05\x04\x19\x02\n\
\x04\x12\x04\xb9\x03\x08\x10\n\r\n\x05\x04\x19\x02\n\x05\x12\x04\xb9\x03\
\x11\x16\n\r\n\x05\x04\x19\x02\n\x01\x12\x04\xb9\x03\x17\x1d\n\r\n\x05\
\x04\x19\x02\n\x03\x12\x04\xb9\x03\x20\"\n\x0c\n\x04\x04\x19\x02\x0b\x12\
\x04\xba\x03\x086\n\r\n\x05\x04\x19\x02\x0b\x04\x12\x04\xba\x03\x08\x10\
\n\r\n\x05\x04\x19\x02\x0b\x05\x12\x04\xba\x03\x11\x17\n\r\n\x05\x04\x19\
\x02\x0b\x01\x12\x04\xba\x03\x180\n\r\n\x05\x04\x19\x02\x0b\x03\x12\x04\
\xba\x0335\n\x0c\n\x04\x04\x19\x02\x0c\x12\x04\xbb\x03\x08,\n\r\n\x05\
\x04\x19\x02\x0c\x04\x12\x04\xbb\x03\x08\x10\n\r\n\x05\x04\x19\x02\x0c\
\x05\x12\x04\xbb\x03\x11\x18\n\r\n\x05\x04\x19\x02\x0c\x01\x12\x04\xbb\
\x03\x19&\n\r\n\x05\x04\x19\x02\x0c\x03\x12\x04\xbb\x03)+\n\x0c\n\x04\
\x04\x19\x02\r\x12\x04\xbc\x03\x08)\n\r\n\x05\x04\x19\x02\r\x04\x12\x04\
\xbc\x03\x08\x10\n\r\n\x05\x04\x19\x02\r\x05\x12\x04\xbc\x03\x11\x17\n\r\
\n\x05\x04\x19\x02\r\x01\x12\x04\xbc\x03\x18#\n\r\n\x05\x04\x19\x02\r\
\x03\x12\x04\xbc\x03&(\n\x0c\n\x04\x04\x19\x02\x0e\x12\x04\xbd\x03\x08)\
\n\r\n\x05\x04\x19\x02\x0e\x04\x12\x04\xbd\x03\x08\x10\n\r\n\x05\x04\x19\
\x02\x0e\x05\x12\x04\xbd\x03\x11\x17\n\r\n\x05\x04\x19\x02\x0e\x01\x12\
\x04\xbd\x03\x18#\n\r\n\x05\x04\x19\x02\x0e\x03\x12\x04\xbd\x03&(\n\x0c\
\n\x02\x04\x1a\x12\x06\xc0\x03\0\xc5\x03\x01\n\x0b\n\x03\x04\x1a\x01\x12\
\x04\xc0\x03\x082\n\x0c\n\x04\x04\x1a\x02\0\x12\x04\xc1\x03\x08+\n\r\n\
\x05\x04\x1a\x02\0\x04\x12\x04\xc1\x03\x08\x10\n\r\n\x05\x04\x1a\x02\0\
\x05\x12\x04\xc1\x03\x11\x18\n\r\n\x05\x04\x1a\x02\0\x01\x12\x04\xc1\x03\
\x19&\n\r\n\x05\x04\x1a\x02\0\x03\x12\x04\xc1\x03)*\n\x0c\n\x04\x04\x1a\
\x02\x01\x12\x04\xc2\x03\x086\n\r\n\x05\x04\x1a\x02\x01\x04\x12\x04\xc2\
\x03\x08\x10\n\r\n\x05\x04\x1a\x02\x01\x05\x12\x04\xc2\x03\x11\x16\n\r\n\
\x05\x04\x1a\x02\x01\x01\x12\x04\xc2\x03\x171\n\r\n\x05\x04\x1a\x02\x01\
\x03\x12\x04\xc2\x0345\n\x0c\n\x04\x04\x1a\x02\x02\x12\x04\xc3\x03\x088\
\n\r\n\x05\x04\x1a\x02\x02\x04\x12\x04\xc3\x03\x08\x10\n\r\n\x05\x04\x1a\
\x02\x02\x05\x12\x04\xc3\x03\x11\x17\n\r\n\x05\x04\x1a\x02\x02\x01\x12\
\x04\xc3\x03\x183\n\r\n\x05\x04\x1a\x02\x02\x03\x12\x04\xc3\x0367\n\x0c\
\n\x04\x04\x1a\x02\x03\x12\x04\xc4\x03\x08)\n\r\n\x05\x04\x1a\x02\x03\
\x04\x12\x04\xc4\x03\x08\x10\n\r\n\x05\x04\x1a\x02\x03\x05\x12\x04\xc4\
\x03\x11\x18\n\r\n\x05\x04\x1a\x02\x03\x01\x12\x04\xc4\x03\x19#\n\r\n\
\x05\x04\x1a\x02\x03\x03\x12\x04\xc4\x03&(\n\x0c\n\x02\x04\x1b\x12\x06\
\xc7\x03\0\xd8\x03\x01\n\x0b\n\x03\x04\x1b\x01\x12\x04\xc7\x03\x08\"\n\
\x0e\n\x04\x04\x1b\x03\0\x12\x06\xc8\x03\x08\xcd\x03\t\n\r\n\x05\x04\x1b\
\x03\0\x01\x12\x04\xc8\x03\x10\x1c\n\x0e\n\x06\x04\x1b\x03\0\x02\0\x12\
\x04\xc9\x03\x10,\n\x0f\n\x07\x04\x1b\x03\0\x02\0\x04\x12\x04\xc9\x03\
\x10\x18\n\x0f\n\x07\x04\x1b\x03\0\x02\0\x05\x12\x04\xc9\x03\x19\x20\n\
\x0f\n\x07\x04\x1b\x03\0\x02\0\x01\x12\x04\xc9\x03!'\n\x0f\n\x07\x04\x1b\
\x03\0\x02\0\x03\x12\x04\xc9\x03*+\n\x0e\n\x06\x04\x1b\x03\0\x02\x01\x12\
\x04\xca\x03\x10,\n\x0f\n\x07\x04\x1b\x03\0\x02\x01\x04\x12\x04\xca\x03\
\x10\x18\n\x0f\n\x07\x04\x1b\x03\0\x02\x01\x05\x12\x04\xca\x03\x19\x1f\n\
\x0f\n\x07\x04\x1b\x03\0\x02\x01\x01\x12\x04\xca\x03\x20'\n\x0f\n\x07\
\x04\x1b\x03\0\x02\x01\x03\x12\x04\xca\x03*+\n\x0e\n\x06\x04\x1b\x03\0\
\x02\x02\x12\x04\xcb\x03\x102\n\x0f\n\x07\x04\x1b\x03\0\x02\x02\x04\x12\
\x04\xcb\x03\x10\x18\n\x0f\n\x07\x04\x1b\x03\0\x02\x02\x05\x12\x04\xcb\
\x03\x19\x1f\n\x0f\n\x07\x04\x1b\x03\0\x02\x02\x01\x12\x04\xcb\x03\x20-\
\n\x0f\n\x07\x04\x1b\x03\0\x02\x02\x03\x12\x04\xcb\x0301\n\x0e\n\x06\x04\
\x1b\x03\0\x02\x03\x12\x04\xcc\x03\x10?\n\x0f\n\x07\x04\x1b\x03\0\x02\
\x03\x04\x12\x04\xcc\x03\x10\x18\n\x0f\n\x07\x04\x1b\x03\0\x02\x03\x05\
\x12\x04\xcc\x03\x19\x1e\n\x0f\n\x07\x04\x1b\x03\0\x02\x03\x01\x12\x04\
\xcc\x03\x1f:\n\x0f\n\x07\x04\x1b\x03\0\x02\x03\x03\x12\x04\xcc\x03=>\n\
\x0e\n\x04\x04\x1b\x03\x01\x12\x06\xcf\x03\x08\xd3\x03\t\n\r\n\x05\x04\
\x1b\x03\x01\x01\x12\x04\xcf\x03\x10\x15\n\x0e\n\x06\x04\x1b\x03\x01\x02\
\0\x12\x04\xd0\x03\x10/\n\x0f\n\x07\x04\x1b\x03\x01\x02\0\x04\x12\x04\
\xd0\x03\x10\x18\n\x0f\n\x07\x04\x1b\x03\x01\x02\0\x05\x12\x04\xd0\x03\
\x19\x20\n\x0f\n\x07\x04\x1b\x03\x01\x02\0\x01\x12\x04\xd0\x03!*\n\x0f\n\
\x07\x04\x1b\x03\x01\x02\0\x03\x12\x04\xd0\x03-.\n\x0e\n\x06\x04\x1b\x03\
\x01\x02\x01\x12\x04\xd1\x03\x101\n\x0f\n\x07\x04\x1b\x03\x01\x02\x01\
\x04\x12\x04\xd1\x03\x10\x18\n\x0f\n\x07\x04\x1b\x03\x01\x02\x01\x05\x12\
\x04\xd1\x03\x19\x20\n\x0f\n\x07\x04\x1b\x03\x01\x02\x01\x01\x12\x04\xd1\
\x03!,\n\x0f\n\x07\x04\x1b\x03\x01\x02\x01\x03\x12\x04\xd1\x03/0\n\x0e\n\
\x06\x04\x1b\x03\x01\x02\x02\x12\x04\xd2\x03\x10*\n\x0f\n\x07\x04\x1b\
\x03\x01\x02\x02\x04\x12\x04\xd2\x03\x10\x18\n\x0f\n\x07\x04\x1b\x03\x01\
\x02\x02\x05\x12\x04\xd2\x03\x19\x1f\n\x0f\n\x07\x04\x1b\x03\x01\x02\x02\
\x01\x12\x04\xd2\x03\x20%\n\x0f\n\x07\x04\x1b\x03\x01\x02\x02\x03\x12\
\x04\xd2\x03()\n\x0c\n\x04\x04\x1b\x02\0\x12\x04\xd5\x03\x08M\n\r\n\x05\
\x04\x1b\x02\0\x04\x12\x04\xd5\x03\x08\x10\n\r\n\x05\x04\x1b\x02\0\x06\
\x12\x04\xd5\x03\x119\n\r\n\x05\x04\x1b\x02\0\x01\x12\x04\xd5\x03:H\n\r\
\n\x05\x04\x1b\x02\0\x03\x12\x04\xd5\x03KL\n\x0c\n\x04\x04\x1b\x02\x01\
\x12\x04\xd6\x03\x08>\n\r\n\x05\x04\x1b\x02\x01\x04\x12\x04\xd6\x03\x08\
\x10\n\r\n\x05\x04\x1b\x02\x01\x06\x12\x04\xd6\x03\x112\n\r\n\x05\x04\
\x1b\x02\x01\x01\x12\x04\xd6\x0339\n\r\n\x05\x04\x1b\x02\x01\x03\x12\x04\
\xd6\x03<=\n\x0c\n\x04\x04\x1b\x02\x02\x12\x04\xd7\x03\x08%\n\r\n\x05\
\x04\x1b\x02\x02\x04\x12\x04\xd7\x03\x08\x10\n\r\n\x05\x04\x1b\x02\x02\
\x05\x12\x04\xd7\x03\x11\x17\n\r\n\x05\x04\x1b\x02\x02\x01\x12\x04\xd7\
\x03\x18\x20\n\r\n\x05\x04\x1b\x02\x02\x03\x12\x04\xd7\x03#$\n\x0c\n\x02\
\x04\x1c\x12\x06\xda\x03\0\xdd\x03\x01\n\x0b\n\x03\x04\x1c\x01\x12\x04\
\xda\x03\x08)\n\x0c\n\x04\x04\x1c\x02\0\x12\x04\xdb\x03\x08\"\n\r\n\x05\
\x04\x1c\x02\0\x04\x12\x04\xdb\x03\x08\x10\n\r\n\x05\x04\x1c\x02\0\x05\
\x12\x04\xdb\x03\x11\x18\n\r\n\x05\x04\x1c\x02\0\x01\x12\x04\xdb\x03\x19\
\x1d\n\r\n\x05\x04\x1c\x02\0\x03\x12\x04\xdb\x03\x20!\n\x0c\n\x04\x04\
\x1c\x02\x01\x12\x04\xdc\x03\x08!\n\r\n\x05\x04\x1c\x02\x01\x04\x12\x04\
\xdc\x03\x08\x10\n\r\n\x05\x04\x1c\x02\x01\x05\x12\x04\xdc\x03\x11\x17\n\
\r\n\x05\x04\x1c\x02\x01\x01\x12\x04\xdc\x03\x18\x1c\n\r\n\x05\x04\x1c\
\x02\x01\x03\x12\x04\xdc\x03\x1f\x20\n\x0c\n\x02\x04\x1d\x12\x06\xdf\x03\
\0\xe2\x03\x01\n\x0b\n\x03\x04\x1d\x01\x12\x04\xdf\x03\x083\n\x0c\n\x04\
\x04\x1d\x02\0\x12\x04\xe0\x03\x08+\n\r\n\x05\x04\x1d\x02\0\x04\x12\x04\
\xe0\x03\x08\x10\n\r\n\x05\x04\x1d\x02\0\x05\x12\x04\xe0\x03\x11\x18\n\r\
\n\x05\x04\x1d\x02\0\x01\x12\x04\xe0\x03\x19&\n\r\n\x05\x04\x1d\x02\0\
\x03\x12\x04\xe0\x03)*\n\x0c\n\x04\x04\x1d\x02\x01\x12\x04\xe1\x03\x08@\
\n\r\n\x05\x04\x1d\x02\x01\x04\x12\x04\xe1\x03\x08\x10\n\r\n\x05\x04\x1d\
\x02\x01\x06\x12\x04\xe1\x03\x113\n\r\n\x05\x04\x1d\x02\x01\x01\x12\x04\
\xe1\x034;\n\r\n\x05\x04\x1d\x02\x01\x03\x12\x04\xe1\x03>?\n\x0c\n\x02\
\x04\x1e\x12\x06\xe4\x03\0\xeb\x03\x01\n\x0b\n\x03\x04\x1e\x01\x12\x04\
\xe4\x03\x08)\n\x0c\n\x04\x04\x1e\x02\0\x12\x04\xe5\x03\x08/\n\r\n\x05\
\x04\x1e\x02\0\x04\x12\x04\xe5\x03\x08\x10\n\r\n\x05\x04\x1e\x02\0\x05\
\x12\x04\xe5\x03\x11\x18\n\r\n\x05\x04\x1e\x02\0\x01\x12\x04\xe5\x03\x19\
*\n\r\n\x05\x04\x1e\x02\0\x03\x12\x04\xe5\x03-.\n\x0c\n\x04\x04\x1e\x02\
\x01\x12\x04\xe6\x03\x08*\n\r\n\x05\x04\x1e\x02\x01\x04\x12\x04\xe6\x03\
\x08\x10\n\r\n\x05\x04\x1e\x02\x01\x05\x12\x04\xe6\x03\x11\x18\n\r\n\x05\
\x04\x1e\x02\x01\x01\x12\x04\xe6\x03\x19%\n\r\n\x05\x04\x1e\x02\x01\x03\
\x12\x04\xe6\x03()\n\x0c\n\x04\x04\x1e\x02\x02\x12\x04\xe7\x03\x08'\n\r\
\n\x05\x04\x1e\x02\x02\x04\x12\x04\xe7\x03\x08\x10\n\r\n\x05\x04\x1e\x02\
\x02\x05\x12\x04\xe7\x03\x11\x18\n\r\n\x05\x04\x1e\x02\x02\x01\x12\x04\
\xe7\x03\x19\"\n\r\n\x05\x04\x1e\x02\x02\x03\x12\x04\xe7\x03%&\n\x0c\n\
\x04\x04\x1e\x02\x03\x12\x04\xe8\x03\x08)\n\r\n\x05\x04\x1e\x02\x03\x04\
\x12\x04\xe8\x03\x08\x10\n\r\n\x05\x04\x1e\x02\x03\x05\x12\x04\xe8\x03\
\x11\x18\n\r\n\x05\x04\x1e\x02\x03\x01\x12\x04\xe8\x03\x19$\n\r\n\x05\
\x04\x1e\x02\x03\x03\x12\x04\xe8\x03'(\n\x0c\n\x04\x04\x1e\x02\x04\x12\
\x04\xe9\x03\x08&\n\r\n\x05\x04\x1e\x02\x04\x04\x12\x04\xe9\x03\x08\x10\
\n\r\n\x05\x04\x1e\x02\x04\x05\x12\x04\xe9\x03\x11\x18\n\r\n\x05\x04\x1e\
\x02\x04\x01\x12\x04\xe9\x03\x19!\n\r\n\x05\x04\x1e\x02\x04\x03\x12\x04\
\xe9\x03$%\n\x0c\n\x04\x04\x1e\x02\x05\x12\x04\xea\x03\x08O\n\r\n\x05\
\x04\x1e\x02\x05\x04\x12\x04\xea\x03\x08\x10\n\r\n\x05\x04\x1e\x02\x05\
\x06\x12\x04\xea\x03\x11=\n\r\n\x05\x04\x1e\x02\x05\x01\x12\x04\xea\x03>\
J\n\r\n\x05\x04\x1e\x02\x05\x03\x12\x04\xea\x03MN\n\x0c\n\x02\x04\x1f\
\x12\x06\xed\x03\0\xfa\x03\x01\n\x0b\n\x03\x04\x1f\x01\x12\x04\xed\x03\
\x08(\n\x0e\n\x04\x04\x1f\x03\0\x12\x06\xee\x03\x08\xf1\x03\t\n\r\n\x05\
\x04\x1f\x03\0\x01\x12\x04\xee\x03\x10\x16\n\x0e\n\x06\x04\x1f\x03\0\x02\
\0\x12\x04\xef\x03\x10,\n\x0f\n\x07\x04\x1f\x03\0\x02\0\x04\x12\x04\xef\
\x03\x10\x18\n\x0f\n\x07\x04\x1f\x03\0\x02\0\x05\x12\x04\xef\x03\x19\x1f\
\n\x0f\n\x07\x04\x1f\x03\0\x02\0\x01\x12\x04\xef\x03\x20'\n\x0f\n\x07\
\x04\x1f\x03\0\x02\0\x03\x12\x04\xef\x03*+\n\x0e\n\x06\x04\x1f\x03\0\x02\
\x01\x12\x04\xf0\x03\x10,\n\x0f\n\x07\x04\x1f\x03\0\x02\x01\x04\x12\x04\
\xf0\x03\x10\x18\n\x0f\n\x07\x04\x1f\x03\0\x02\x01\x05\x12\x04\xf0\x03\
\x19\x1f\n\x0f\n\x07\x04\x1f\x03\0\x02\x01\x01\x12\x04\xf0\x03\x20'\n\
\x0f\n\x07\x04\x1f\x03\0\x02\x01\x03\x12\x04\xf0\x03*+\n\x0e\n\x04\x04\
\x1f\x03\x01\x12\x06\xf3\x03\x08\xf7\x03\t\n\r\n\x05\x04\x1f\x03\x01\x01\
\x12\x04\xf3\x03\x10\x1a\n\x0e\n\x06\x04\x1f\x03\x01\x02\0\x12\x04\xf4\
\x03\x10)\n\x0f\n\x07\x04\x1f\x03\x01\x02\0\x04\x12\x04\xf4\x03\x10\x18\
\n\x0f\n\x07\x04\x1f\x03\x01\x02\0\x05\x12\x04\xf4\x03\x19\x1f\n\x0f\n\
\x07\x04\x1f\x03\x01\x02\0\x01\x12\x04\xf4\x03\x20$\n\x0f\n\x07\x04\x1f\
\x03\x01\x02\0\x03\x12\x04\xf4\x03'(\n\x0e\n\x06\x04\x1f\x03\x01\x02\x01\
\x12\x04\xf5\x03\x10T\n\x0f\n\x07\x04\x1f\x03\x01\x02\x01\x04\x12\x04\
\xf5\x03\x10\x18\n\x0f\n\x07\x04\x1f\x03\x01\x02\x01\x06\x12\x04\xf5\x03\
\x19A\n\x0f\n\x07\x04\x1f\x03\x01\x02\x01\x01\x12\x04\xf5\x03BO\n\x0f\n\
\x07\x04\x1f\x03\x01\x02\x01\x03\x12\x04\xf5\x03RS\n\x0e\n\x06\x04\x1f\
\x03\x01\x02\x02\x12\x04\xf6\x03\x10S\n\x0f\n\x07\x04\x1f\x03\x01\x02\
\x02\x04\x12\x04\xf6\x03\x10\x18\n\x0f\n\x07\x04\x1f\x03\x01\x02\x02\x06\
\x12\x04\xf6\x03\x19A\n\x0f\n\x07\x04\x1f\x03\x01\x02\x02\x01\x12\x04\
\xf6\x03BN\n\x0f\n\x07\x04\x1f\x03\x01\x02\x02\x03\x12\x04\xf6\x03QR\n\
\x0c\n\x04\x04\x1f\x02\0\x12\x04\xf9\x03\x08O\n\r\n\x05\x04\x1f\x02\0\
\x04\x12\x04\xf9\x03\x08\x10\n\r\n\x05\x04\x1f\x02\0\x06\x12\x04\xf9\x03\
\x11=\n\r\n\x05\x04\x1f\x02\0\x01\x12\x04\xf9\x03>J\n\r\n\x05\x04\x1f\
\x02\0\x03\x12\x04\xf9\x03MN\n\x0c\n\x02\x04\x20\x12\x06\xfc\x03\0\x8d\
\x04\x01\n\x0b\n\x03\x04\x20\x01\x12\x04\xfc\x03\x08%\n\x0e\n\x04\x04\
\x20\x03\0\x12\x06\xfd\x03\x08\x81\x04\t\n\r\n\x05\x04\x20\x03\0\x01\x12\
\x04\xfd\x03\x10\x1a\n\x0e\n\x06\x04\x20\x03\0\x02\0\x12\x04\xfe\x03\x10\
3\n\x0f\n\x07\x04\x20\x03\0\x02\0\x04\x12\x04\xfe\x03\x10\x18\n\x0f\n\
\x07\x04\x20\x03\0\x02\0\x05\x12\x04\xfe\x03\x19\x20\n\x0f\n\x07\x04\x20\
\x03\0\x02\0\x01\x12\x04\xfe\x03!.\n\x0f\n\x07\x04\x20\x03\0\x02\0\x03\
\x12\x04\xfe\x0312\n\x0e\n\x06\x04\x20\x03\0\x02\x01\x12\x04\xff\x03\x10\
*\n\x0f\n\x07\x04\x20\x03\0\x02\x01\x04\x12\x04\xff\x03\x10\x18\n\x0f\n\
\x07\x04\x20\x03\0\x02\x01\x05\x12\x04\xff\x03\x19\x1f\n\x0f\n\x07\x04\
\x20\x03\0\x02\x01\x01\x12\x04\xff\x03\x20%\n\x0f\n\x07\x04\x20\x03\0\
\x02\x01\x03\x12\x04\xff\x03()\n\x0e\n\x06\x04\x20\x03\0\x02\x02\x12\x04\
\x80\x04\x10H\n\x0f\n\x07\x04\x20\x03\0\x02\x02\x04\x12\x04\x80\x04\x10\
\x18\n\x0f\n\x07\x04\x20\x03\0\x02\x02\x06\x12\x04\x80\x04\x19;\n\x0f\n\
\x07\x04\x20\x03\0\x02\x02\x01\x12\x04\x80\x04<C\n\x0f\n\x07\x04\x20\x03\
\0\x02\x02\x03\x12\x04\x80\x04FG\n\x0c\n\x04\x04\x20\x02\0\x12\x04\x83\
\x04\x08$\n\r\n\x05\x04\x20\x02\0\x04\x12\x04\x83\x04\x08\x10\n\r\n\x05\
\x04\x20\x02\0\x05\x12\x04\x83\x04\x11\x16\n\r\n\x05\x04\x20\x02\0\x01\
\x12\x04\x83\x04\x17\x1f\n\r\n\x05\x04\x20\x02\0\x03\x12\x04\x83\x04\"#\
\n\x0c\n\x04\x04\x20\x02\x01\x12\x04\x84\x04\x08)\n\r\n\x05\x04\x20\x02\
\x01\x04\x12\x04\x84\x04\x08\x10\n\r\n\x05\x04\x20\x02\x01\x05\x12\x04\
\x84\x04\x11\x16\n\r\n\x05\x04\x20\x02\x01\x01\x12\x04\x84\x04\x17#\n\r\
\n\x05\x04\x20\x02\x01\x03\x12\x04\x84\x04&(\n\x0c\n\x04\x04\x20\x02\x02\
\x12\x04\x85\x04\x08,\n\r\n\x05\x04\x20\x02\x02\x04\x12\x04\x85\x04\x08\
\x10\n\r\n\x05\x04\x20\x02\x02\x05\x12\x04\x85\x04\x11\x17\n\r\n\x05\x04\
\x20\x02\x02\x01\x12\x04\x85\x04\x18'\n\r\n\x05\x04\x20\x02\x02\x03\x12\
\x04\x85\x04*+\n\x0c\n\x04\x04\x20\x02\x03\x12\x04\x86\x04\x08*\n\r\n\
\x05\x04\x20\x02\x03\x04\x12\x04\x86\x04\x08\x10\n\r\n\x05\x04\x20\x02\
\x03\x05\x12\x04\x86\x04\x11\x17\n\r\n\x05\x04\x20\x02\x03\x01\x12\x04\
\x86\x04\x18%\n\r\n\x05\x04\x20\x02\x03\x03\x12\x04\x86\x04()\n\x0c\n\
\x04\x04\x20\x02\x04\x12\x04\x87\x04\x08+\n\r\n\x05\x04\x20\x02\x04\x04\
\x12\x04\x87\x04\x08\x10\n\r\n\x05\x04\x20\x02\x04\x05\x12\x04\x87\x04\
\x11\x17\n\r\n\x05\x04\x20\x02\x04\x01\x12\x04\x87\x04\x18&\n\r\n\x05\
\x04\x20\x02\x04\x03\x12\x04\x87\x04)*\n\x0c\n\x04\x04\x20\x02\x05\x12\
\x04\x88\x04\x083\n\r\n\x05\x04\x20\x02\x05\x04\x12\x04\x88\x04\x08\x10\
\n\r\n\x05\x04\x20\x02\x05\x05\x12\x04\x88\x04\x11\x17\n\r\n\x05\x04\x20\
\x02\x05\x01\x12\x04\x88\x04\x18.\n\r\n\x05\x04\x20\x02\x05\x03\x12\x04\
\x88\x0412\n\x0c\n\x04\x04\x20\x02\x06\x12\x04\x89\x04\x08-\n\r\n\x05\
\x04\x20\x02\x06\x04\x12\x04\x89\x04\x08\x10\n\r\n\x05\x04\x20\x02\x06\
\x05\x12\x04\x89\x04\x11\x16\n\r\n\x05\x04\x20\x02\x06\x01\x12\x04\x89\
\x04\x17(\n\r\n\x05\x04\x20\x02\x06\x03\x12\x04\x89\x04+,\n\x0c\n\x04\
\x04\x20\x02\x07\x12\x04\x8a\x04\x08/\n\r\n\x05\x04\x20\x02\x07\x04\x12\
\x04\x8a\x04\x08\x10\n\r\n\x05\x04\x20\x02\x07\x05\x12\x04\x8a\x04\x11\
\x16\n\r\n\x05\x04\x20\x02\x07\x01\x12\x04\x8a\x04\x17*\n\r\n\x05\x04\
\x20\x02\x07\x03\x12\x04\x8a\x04-.\n\x0c\n\x04\x04\x20\x02\x08\x12\x04\
\x8b\x04\x08L\n\r\n\x05\x04\x20\x02\x08\x04\x12\x04\x8b\x04\x08\x10\n\r\
\n\x05\x04\x20\x02\x08\x06\x12\x04\x8b\x04\x11:\n\r\n\x05\x04\x20\x02\
\x08\x01\x12\x04\x8b\x04;G\n\r\n\x05\x04\x20\x02\x08\x03\x12\x04\x8b\x04\
JK\n\x0c\n\x04\x04\x20\x02\t\x12\x04\x8c\x04\x08#\n\r\n\x05\x04\x20\x02\
\t\x04\x12\x04\x8c\x04\x08\x10\n\r\n\x05\x04\x20\x02\t\x05\x12\x04\x8c\
\x04\x11\x18\n\r\n\x05\x04\x20\x02\t\x01\x12\x04\x8c\x04\x19\x1e\n\r\n\
\x05\x04\x20\x02\t\x03\x12\x04\x8c\x04!\"\n\x0c\n\x02\x04!\x12\x06\x8f\
\x04\0\xa6\x04\x01\n\x0b\n\x03\x04!\x01\x12\x04\x8f\x04\x089\n\x0e\n\x04\
\x04!\x04\0\x12\x06\x90\x04\x08\x95\x04\t\n\r\n\x05\x04!\x04\0\x01\x12\
\x04\x90\x04\r\x12\n\x0e\n\x06\x04!\x04\0\x02\0\x12\x04\x91\x04\x10&\n\
\x0f\n\x07\x04!\x04\0\x02\0\x01\x12\x04\x91\x04\x10!\n\x0f\n\x07\x04!\
\x04\0\x02\0\x02\x12\x04\x91\x04$%\n\x0e\n\x06\x04!\x04\0\x02\x01\x12\
\x04\x92\x04\x10$\n\x0f\n\x07\x04!\x04\0\x02\x01\x01\x12\x04\x92\x04\x10\
\x1f\n\x0f\n\x07\x04!\x04\0\x02\x01\x02\x12\x04\x92\x04\"#\n\x0e\n\x06\
\x04!\x04\0\x02\x02\x12\x04\x93\x04\x10*\n\x0f\n\x07\x04!\x04\0\x02\x02\
\x01\x12\x04\x93\x04\x10%\n\x0f\n\x07\x04!\x04\0\x02\x02\x02\x12\x04\x93\
\x04()\n\x0e\n\x06\x04!\x04\0\x02\x03\x12\x04\x94\x04\x10/\n\x0f\n\x07\
\x04!\x04\0\x02\x03\x01\x12\x04\x94\x04\x10)\n\x0f\n\x07\x04!\x04\0\x02\
\x03\x02\x12\x04\x94\x04,.\n\x0c\n\x04\x04!\x02\0\x12\x04\x97\x04\x08G\n\
\r\n\x05\x04!\x02\0\x04\x12\x04\x97\x04\x08\x10\n\r\n\x05\x04!\x02\0\x06\
\x12\x04\x97\x04\x114\n\r\n\x05\x04!\x02\0\x01\x12\x04\x97\x045B\n\r\n\
\x05\x04!\x02\0\x03\x12\x04\x97\x04EF\n\x0c\n\x04\x04!\x02\x01\x12\x04\
\x98\x04\x08E\n\r\n\x05\x04!\x02\x01\x04\x12\x04\x98\x04\x08\x10\n\r\n\
\x05\x04!\x02\x01\x06\x12\x04\x98\x04\x114\n\r\n\x05\x04!\x02\x01\x01\
\x12\x04\x98\x045@\n\r\n\x05\x04!\x02\x01\x03\x12\x04\x98\x04CD\n\x0c\n\
\x04\x04!\x02\x02\x12\x04\x99\x04\x08'\n\r\n\x05\x04!\x02\x02\x04\x12\
\x04\x99\x04\x08\x10\n\r\n\x05\x04!\x02\x02\x05\x12\x04\x99\x04\x11\x18\
\n\r\n\x05\x04!\x02\x02\x01\x12\x04\x99\x04\x19\"\n\r\n\x05\x04!\x02\x02\
\x03\x12\x04\x99\x04%&\n\x0c\n\x04\x04!\x02\x03\x12\x04\x9a\x04\x08,\n\r\
\n\x05\x04!\x02\x03\x04\x12\x04\x9a\x04\x08\x10\n\r\n\x05\x04!\x02\x03\
\x05\x12\x04\x9a\x04\x11\x18\n\r\n\x05\x04!\x02\x03\x01\x12\x04\x9a\x04\
\x19'\n\r\n\x05\x04!\x02\x03\x03\x12\x04\x9a\x04*+\n\x0c\n\x04\x04!\x02\
\x04\x12\x04\x9b\x04\x08\"\n\r\n\x05\x04!\x02\x04\x04\x12\x04\x9b\x04\
\x08\x10\n\r\n\x05\x04!\x02\x04\x05\x12\x04\x9b\x04\x11\x17\n\r\n\x05\
\x04!\x02\x04\x01\x12\x04\x9b\x04\x18\x1d\n\r\n\x05\x04!\x02\x04\x03\x12\
\x04\x9b\x04\x20!\n\x0c\n\x04\x04!\x02\x05\x12\x04\x9c\x04\x088\n\r\n\
\x05\x04!\x02\x05\x04\x12\x04\x9c\x04\x08\x10\n\r\n\x05\x04!\x02\x05\x05\
\x12\x04\x9c\x04\x11\x17\n\r\n\x05\x04!\x02\x05\x01\x12\x04\x9c\x04\x183\
\n\r\n\x05\x04!\x02\x05\x03\x12\x04\x9c\x0467\n\x0c\n\x04\x04!\x02\x06\
\x12\x04\x9d\x04\x08\"\n\r\n\x05\x04!\x02\x06\x04\x12\x04\x9d\x04\x08\
\x10\n\r\n\x05\x04!\x02\x06\x05\x12\x04\x9d\x04\x11\x16\n\r\n\x05\x04!\
\x02\x06\x01\x12\x04\x9d\x04\x17\x1d\n\r\n\x05\x04!\x02\x06\x03\x12\x04\
\x9d\x04\x20!\n\x0c\n\x04\x04!\x02\x07\x12\x04\x9e\x04\x085\n\r\n\x05\
\x04!\x02\x07\x04\x12\x04\x9e\x04\x08\x10\n\r\n\x05\x04!\x02\x07\x05\x12\
\x04\x9e\x04\x11\x17\n\r\n\x05\x04!\x02\x07\x01\x12\x04\x9e\x04\x180\n\r\
\n\x05\x04!\x02\x07\x03\x12\x04\x9e\x0434\n\x0c\n\x04\x04!\x02\x08\x12\
\x04\x9f\x04\x081\n\r\n\x05\x04!\x02\x08\x04\x12\x04\x9f\x04\x08\x10\n\r\
\n\x05\x04!\x02\x08\x05\x12\x04\x9f\x04\x11\x18\n\r\n\x05\x04!\x02\x08\
\x01\x12\x04\x9f\x04\x19+\n\r\n\x05\x04!\x02\x08\x03\x12\x04\x9f\x04.0\n\
\x0c\n\x04\x04!\x02\t\x12\x04\xa0\x04\x08/\n\r\n\x05\x04!\x02\t\x04\x12\
\x04\xa0\x04\x08\x10\n\r\n\x05\x04!\x02\t\x05\x12\x04\xa0\x04\x11\x18\n\
\r\n\x05\x04!\x02\t\x01\x12\x04\xa0\x04\x19)\n\r\n\x05\x04!\x02\t\x03\
\x12\x04\xa0\x04,.\n\x0c\n\x04\x04!\x02\n\x12\x04\xa1\x04\x084\n\r\n\x05\
\x04!\x02\n\x04\x12\x04\xa1\x04\x08\x10\n\r\n\x05\x04!\x02\n\x05\x12\x04\
\xa1\x04\x11\x18\n\r\n\x05\x04!\x02\n\x01\x12\x04\xa1\x04\x19.\n\r\n\x05\
\x04!\x02\n\x03\x12\x04\xa1\x0413\n\x0c\n\x04\x04!\x02\x0b\x12\x04\xa2\
\x04\x08+\n\r\n\x05\x04!\x02\x0b\x04\x12\x04\xa2\x04\x08\x10\n\r\n\x05\
\x04!\x02\x0b\x05\x12\x04\xa2\x04\x11\x17\n\r\n\x05\x04!\x02\x0b\x01\x12\
\x04\xa2\x04\x18%\n\r\n\x05\x04!\x02\x0b\x03\x12\x04\xa2\x04(*\n\x0c\n\
\x04\x04!\x02\x0c\x12\x04\xa3\x04\x082\n\r\n\x05\x04!\x02\x0c\x04\x12\
\x04\xa3\x04\x08\x10\n\r\n\x05\x04!\x02\x0c\x05\x12\x04\xa3\x04\x11\x18\
\n\r\n\x05\x04!\x02\x0c\x01\x12\x04\xa3\x04\x19,\n\r\n\x05\x04!\x02\x0c\
\x03\x12\x04\xa3\x04/1\n\x0c\n\x04\x04!\x02\r\x12\x04\xa4\x04\x08)\n\r\n\
\x05\x04!\x02\r\x04\x12\x04\xa4\x04\x08\x10\n\r\n\x05\x04!\x02\r\x05\x12\
\x04\xa4\x04\x11\x17\n\r\n\x05\x04!\x02\r\x01\x12\x04\xa4\x04\x18#\n\r\n\
\x05\x04!\x02\r\x03\x12\x04\xa4\x04&(\n\x0c\n\x04\x04!\x02\x0e\x12\x04\
\xa5\x04\x08)\n\r\n\x05\x04!\x02\x0e\x04\x12\x04\xa5\x04\x08\x10\n\r\n\
\x05\x04!\x02\x0e\x05\x12\x04\xa5\x04\x11\x17\n\r\n\x05\x04!\x02\x0e\x01\
\x12\x04\xa5\x04\x18#\n\r\n\x05\x04!\x02\x0e\x03\x12\x04\xa5\x04&(\n\x0c\
\n\x02\x04\"\x12\x06\xa8\x04\0\xac\x04\x01\n\x0b\n\x03\x04\"\x01\x12\x04\
\xa8\x04\x08>\n\x0c\n\x04\x04\"\x02\0\x12\x04\xa9\x04\x08&\n\r\n\x05\x04\
\"\x02\0\x04\x12\x04\xa9\x04\x08\x10\n\r\n\x05\x04\"\x02\0\x05\x12\x04\
\xa9\x04\x11\x17\n\r\n\x05\x04\"\x02\0\x01\x12\x04\xa9\x04\x18!\n\r\n\
\x05\x04\"\x02\0\x03\x12\x04\xa9\x04$%\n\x0c\n\x04\x04\"\x02\x01\x12\x04\
\xaa\x04\x08#\n\r\n\x05\x04\"\x02\x01\x04\x12\x04\xaa\x04\x08\x10\n\r\n\
\x05\x04\"\x02\x01\x05\x12\x04\xaa\x04\x11\x17\n\r\n\x05\x04\"\x02\x01\
\x01\x12\x04\xaa\x04\x18\x1e\n\r\n\x05\x04\"\x02\x01\x03\x12\x04\xaa\x04\
!\"\n\x0c\n\x04\x04\"\x02\x02\x12\x04\xab\x04\x08)\n\r\n\x05\x04\"\x02\
\x02\x04\x12\x04\xab\x04\x08\x10\n\r\n\x05\x04\"\x02\x02\x05\x12\x04\xab\
\x04\x11\x17\n\r\n\x05\x04\"\x02\x02\x01\x12\x04\xab\x04\x18$\n\r\n\x05\
\x04\"\x02\x02\x03\x12\x04\xab\x04'(\n\x0c\n\x02\x04#\x12\x06\xae\x04\0\
\xaf\x04\x01\n\x0b\n\x03\x04#\x01\x12\x04\xae\x04\x08<\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
}
pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
file_descriptor_proto_lazy.get(|| {
parse_descriptor_proto()
})
}