#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum PayloadFormatIndicator {
#[allow(missing_docs)] UnspecifiedBytes,
#[allow(missing_docs)] Utf8Data,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for PayloadFormatIndicator {
fn from(s: &str) -> Self {
match s {
"UNSPECIFIED_BYTES" => PayloadFormatIndicator::UnspecifiedBytes,
"UTF8_DATA" => PayloadFormatIndicator::Utf8Data,
other => {
PayloadFormatIndicator::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for PayloadFormatIndicator {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(PayloadFormatIndicator::from(s))
}
}
impl PayloadFormatIndicator {
pub fn as_str(&self) -> &str {
match self {
PayloadFormatIndicator::UnspecifiedBytes => "UNSPECIFIED_BYTES",
PayloadFormatIndicator::Utf8Data => "UTF8_DATA",
PayloadFormatIndicator::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&["UNSPECIFIED_BYTES", "UTF8_DATA"]
}
}
impl AsRef<str> for PayloadFormatIndicator {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct RetainedMessageSummary {
#[doc(hidden)]
pub topic: std::option::Option<std::string::String>,
#[doc(hidden)]
pub payload_size: i64,
#[doc(hidden)]
pub qos: i32,
#[doc(hidden)]
pub last_modified_time: i64,
}
impl RetainedMessageSummary {
pub fn topic(&self) -> std::option::Option<&str> {
self.topic.as_deref()
}
pub fn payload_size(&self) -> i64 {
self.payload_size
}
pub fn qos(&self) -> i32 {
self.qos
}
pub fn last_modified_time(&self) -> i64 {
self.last_modified_time
}
}
pub mod retained_message_summary {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) topic: std::option::Option<std::string::String>,
pub(crate) payload_size: std::option::Option<i64>,
pub(crate) qos: std::option::Option<i32>,
pub(crate) last_modified_time: std::option::Option<i64>,
}
impl Builder {
pub fn topic(mut self, input: impl Into<std::string::String>) -> Self {
self.topic = Some(input.into());
self
}
pub fn set_topic(mut self, input: std::option::Option<std::string::String>) -> Self {
self.topic = input;
self
}
pub fn payload_size(mut self, input: i64) -> Self {
self.payload_size = Some(input);
self
}
pub fn set_payload_size(mut self, input: std::option::Option<i64>) -> Self {
self.payload_size = input;
self
}
pub fn qos(mut self, input: i32) -> Self {
self.qos = Some(input);
self
}
pub fn set_qos(mut self, input: std::option::Option<i32>) -> Self {
self.qos = input;
self
}
pub fn last_modified_time(mut self, input: i64) -> Self {
self.last_modified_time = Some(input);
self
}
pub fn set_last_modified_time(mut self, input: std::option::Option<i64>) -> Self {
self.last_modified_time = input;
self
}
pub fn build(self) -> crate::model::RetainedMessageSummary {
crate::model::RetainedMessageSummary {
topic: self.topic,
payload_size: self.payload_size.unwrap_or_default(),
qos: self.qos.unwrap_or_default(),
last_modified_time: self.last_modified_time.unwrap_or_default(),
}
}
}
}
impl RetainedMessageSummary {
pub fn builder() -> crate::model::retained_message_summary::Builder {
crate::model::retained_message_summary::Builder::default()
}
}