Added content topic, update pubsub topic

This commit is contained in:
Daniel Sanchez Quiros 2022-10-04 16:04:12 +02:00
parent 8533517bcd
commit 0621e87370

View File

@ -170,21 +170,21 @@ impl RegexRepresentation for Encoding {
const REGEX: &'static str = r"\w";
}
pub struct WakuPubsubTopic {
pub struct WakuContentTopic {
application_name: String,
version: usize,
content_topic_name: String,
encoding: Encoding,
}
impl FromStr for WakuPubsubTopic {
impl FromStr for WakuContentTopic {
type Err = String;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
if let Ok((application_name, version, content_topic_name, encoding)) =
scanf!(s, "{}/{}/{}/{}", String, usize, String, Encoding)
scanf!(s, "/{}/{}/{}/{}", String, usize, String, Encoding)
{
Ok(WakuPubsubTopic {
Ok(WakuContentTopic {
application_name,
version,
content_topic_name,
@ -200,3 +200,28 @@ impl FromStr for WakuPubsubTopic {
}
}
}
pub struct WakuPubSubTopic {
topic_name: String,
encoding: Encoding,
}
impl FromStr for WakuPubSubTopic {
type Err = String;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
if let Ok((topic_name, encoding)) = scanf!(s, "/waku/v2/{}/{}", String, Encoding) {
Ok(WakuPubSubTopic {
topic_name,
encoding,
})
} else {
Err(
format!(
"Wrong pub-sub topic format. Should be `/{{application-name}}/{{version-of-the-application}}/{{content-topic-name}}/{{encoding}}`. Got: {}",
s
)
)
}
}
}