chore: rename messageId to messageHash

This commit is contained in:
Richard Ramos 2024-02-29 18:47:13 -04:00
parent 122b75c6a1
commit e5d4aa0ebe
No known key found for this signature in database
GPG Key ID: 1CE87DB518195760
7 changed files with 22 additions and 20 deletions

View File

@ -11,8 +11,8 @@ use sscanf::{scanf, RegexRepresentation};
/// Waku message version /// Waku message version
pub type WakuMessageVersion = usize; pub type WakuMessageVersion = usize;
/// Waku message id, hex encoded sha256 digest of the message /// Waku message hash, hex encoded sha256 digest of the message
pub type MessageId = String; pub type MessageHash = String;
/// Waku response, just a `Result` with an `String` error. /// Waku response, just a `Result` with an `String` error.
pub type Result<T> = std::result::Result<T, String>; pub type Result<T> = std::result::Result<T, String>;

View File

@ -16,4 +16,6 @@ pub use node::{
SecretKey, WakuMessageEvent, WakuNodeConfig, WakuNodeHandle, SecretKey, WakuMessageEvent, WakuNodeConfig, WakuNodeHandle,
}; };
pub use general::{Encoding, MessageId, Result, WakuContentTopic, WakuMessage, WakuMessageVersion}; pub use general::{
Encoding, MessageHash, Result, WakuContentTopic, WakuMessage, WakuMessageVersion,
};

View File

@ -12,7 +12,7 @@ use serde::{Deserialize, Serialize};
use crate::general::WakuMessage; use crate::general::WakuMessage;
use crate::node::context::WakuNodeContext; use crate::node::context::WakuNodeContext;
use crate::utils::{get_trampoline, LibwakuResponse}; use crate::utils::{get_trampoline, LibwakuResponse};
use crate::MessageId; use crate::MessageHash;
/// Waku event /// Waku event
/// For now just WakuMessage is supported /// For now just WakuMessage is supported
@ -31,8 +31,8 @@ pub enum Event {
pub struct WakuMessageEvent { pub struct WakuMessageEvent {
/// The pubsub topic on which the message was received /// The pubsub topic on which the message was received
pub pubsub_topic: String, pub pubsub_topic: String,
/// The message id /// The message hash
pub message_id: MessageId, pub message_hash: MessageHash,
/// The message in [`WakuMessage`] format /// The message in [`WakuMessage`] format
pub waku_message: WakuMessage, pub waku_message: WakuMessage,
} }
@ -62,7 +62,7 @@ mod tests {
#[test] #[test]
fn deserialize_message_event() { fn deserialize_message_event() {
let s = "{\"eventType\":\"message\",\"messageId\":\"0x26ff3d7fbc950ea2158ce62fd76fd745eee0323c9eac23d0713843b0f04ea27c\",\"pubsubTopic\":\"/waku/2/default-waku/proto\",\"wakuMessage\":{\"payload\":\"SGkgZnJvbSDwn6aAIQ==\",\"contentTopic\":\"/toychat/2/huilong/proto\",\"timestamp\":1665580926660}}"; let s = "{\"eventType\":\"message\",\"messageHash\":\"0x26ff3d7fbc950ea2158ce62fd76fd745eee0323c9eac23d0713843b0f04ea27c\",\"pubsubTopic\":\"/waku/2/default-waku/proto\",\"wakuMessage\":{\"payload\":\"SGkgZnJvbSDwn6aAIQ==\",\"contentTopic\":\"/toychat/2/huilong/proto\",\"timestamp\":1665580926660}}";
let evt: Event = serde_json::from_str(s).unwrap(); let evt: Event = serde_json::from_str(s).unwrap();
assert!(matches!(evt, Event::WakuMessage(_))); assert!(matches!(evt, Event::WakuMessage(_)));
} }

View File

@ -14,7 +14,7 @@ pub use secp256k1::{PublicKey, SecretKey};
use std::marker::PhantomData; use std::marker::PhantomData;
use std::time::Duration; use std::time::Duration;
// internal // internal
use crate::general::{MessageId, Result, WakuMessage}; use crate::general::{MessageHash, Result, WakuMessage};
use context::WakuNodeContext; use context::WakuNodeContext;
pub use config::WakuNodeConfig; pub use config::WakuNodeConfig;
@ -97,7 +97,7 @@ impl WakuNodeHandle<Running> {
message: &WakuMessage, message: &WakuMessage,
pubsub_topic: &String, pubsub_topic: &String,
timeout: Option<Duration>, timeout: Option<Duration>,
) -> Result<MessageId> { ) -> Result<MessageHash> {
relay::waku_relay_publish_message(&self.ctx, message, pubsub_topic, timeout) relay::waku_relay_publish_message(&self.ctx, message, pubsub_topic, timeout)
} }

View File

@ -6,7 +6,7 @@ use std::time::Duration;
// crates // crates
use libc::*; use libc::*;
// internal // internal
use crate::general::{Encoding, MessageId, Result, WakuContentTopic, WakuMessage}; use crate::general::{Encoding, MessageHash, Result, WakuContentTopic, WakuMessage};
use crate::node::context::WakuNodeContext; use crate::node::context::WakuNodeContext;
use crate::utils::{get_trampoline, handle_no_response, handle_response, LibwakuResponse}; use crate::utils::{get_trampoline, handle_no_response, handle_response, LibwakuResponse};
@ -62,7 +62,7 @@ pub fn waku_relay_publish_message(
message: &WakuMessage, message: &WakuMessage,
pubsub_topic: &String, pubsub_topic: &String,
timeout: Option<Duration>, timeout: Option<Duration>,
) -> Result<MessageId> { ) -> Result<MessageHash> {
let pubsub_topic = pubsub_topic.to_string(); let pubsub_topic = pubsub_topic.to_string();
let message_ptr = CString::new( let message_ptr = CString::new(

View File

@ -7,7 +7,7 @@ use tokio::sync::broadcast::{self, Sender};
use tokio::time; use tokio::time;
use tokio::time::sleep; use tokio::time::sleep;
use waku_bindings::{ use waku_bindings::{
waku_new, Encoding, Event, MessageId, Running, WakuContentTopic, WakuMessage, WakuNodeConfig, waku_new, Encoding, Event, MessageHash, Running, WakuContentTopic, WakuMessage, WakuNodeConfig,
WakuNodeHandle, WakuNodeHandle,
}; };
const ECHO_TIMEOUT: u64 = 10; const ECHO_TIMEOUT: u64 = 10;
@ -17,7 +17,7 @@ const TEST_PUBSUBTOPIC: &str = "test";
fn try_publish_relay_messages( fn try_publish_relay_messages(
node: &WakuNodeHandle<Running>, node: &WakuNodeHandle<Running>,
msg: &WakuMessage, msg: &WakuMessage,
) -> Result<HashSet<MessageId>, String> { ) -> Result<HashSet<MessageHash>, String> {
let topic = TEST_PUBSUBTOPIC.to_string(); let topic = TEST_PUBSUBTOPIC.to_string();
Ok(HashSet::from([ Ok(HashSet::from([
node.relay_publish_message(msg, &topic, None)? node.relay_publish_message(msg, &topic, None)?
@ -26,19 +26,19 @@ fn try_publish_relay_messages(
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
struct Response { struct Response {
id: MessageId, hash: MessageHash,
payload: Vec<u8>, payload: Vec<u8>,
} }
fn set_callback(node: &WakuNodeHandle<Running>, tx: Sender<Response>) { fn set_callback(node: &WakuNodeHandle<Running>, tx: Sender<Response>) {
node.set_event_callback(move |event| { node.set_event_callback(move |event| {
if let Event::WakuMessage(message) = event { if let Event::WakuMessage(message) = event {
let id = message.message_id; let hash = message.message_hash;
let message = message.waku_message; let message = message.waku_message;
let payload = message.payload.to_vec(); let payload = message.payload.to_vec();
tx.send(Response { tx.send(Response {
id: id.to_string(), hash: hash.to_string(),
payload, payload,
}) })
.expect("send response to the receiver"); .expect("send response to the receiver");
@ -73,7 +73,7 @@ async fn test_echo_messages(
let mut ids = try_publish_relay_messages(node1, &message).expect("send relay messages"); let mut ids = try_publish_relay_messages(node1, &message).expect("send relay messages");
while let Ok(res) = rx.recv().await { while let Ok(res) = rx.recv().await {
if ids.take(&res.id).is_some() { if ids.take(&res.hash).is_some() {
let msg = from_utf8(&res.payload).expect("should be valid message"); let msg = from_utf8(&res.payload).expect("should be valid message");
assert_eq!(content, msg); assert_eq!(content, msg);
} }
@ -108,7 +108,7 @@ async fn default_echo() -> Result<(), String> {
node2.relay_subscribe(&topic)?; node2.relay_subscribe(&topic)?;
// Wait for mesh to form // Wait for mesh to form
sleep(Duration::from_secs(5)).await; sleep(Duration::from_secs(3)).await;
let content_topic = WakuContentTopic::new("toychat", "2", "huilong", Encoding::Proto); let content_topic = WakuContentTopic::new("toychat", "2", "huilong", Encoding::Proto);
@ -145,6 +145,6 @@ fn node_restart() {
let node = node.start().expect("node should start with valid config"); let node = node.start().expect("node should start with valid config");
let node = node.stop().expect("node should stop"); node.stop().expect("node should stop");
} }
} }

@ -1 +1 @@
Subproject commit d8e379be6a0483e865f360e8104bba00cb1a1549 Subproject commit 91e3f8cde61b8ef3ca4332710b9ec9d7bc4fb786