pub struct Message {
pub id: String,
pub message_type: MessageType,
pub sender: String,
pub receiver: String,
pub event_type: Option<EventType>,
pub data: Value,
pub timestamp: u64,
pub status: MessageStatus,
pub timeout: Option<u64>,
pub retry_count: u8,
}Expand description
消息结构体
Fields§
§id: String消息ID
message_type: MessageType消息类型
sender: String发送方模块ID
receiver: String接收方模块ID
event_type: Option<EventType>事件类型(仅当消息类型为Event时有效)
data: Value消息数据
timestamp: u64时间戳
status: MessageStatus消息状态
timeout: Option<u64>超时时间(毫秒)
retry_count: u8重试次数
Implementations§
Source§impl Message
impl Message
Sourcepub fn new_message(sender: String, receiver: String, data: Value) -> Self
pub fn new_message(sender: String, receiver: String, data: Value) -> Self
创建普通消息
Sourcepub fn new_request(sender: String, receiver: String, data: Value) -> Self
pub fn new_request(sender: String, receiver: String, data: Value) -> Self
创建请求消息
Sourcepub fn new_response(
request_id: String,
sender: String,
receiver: String,
data: Value,
) -> Self
pub fn new_response( request_id: String, sender: String, receiver: String, data: Value, ) -> Self
创建响应消息
Sourcepub fn new_broadcast(sender: String, data: Value) -> Self
pub fn new_broadcast(sender: String, data: Value) -> Self
创建广播消息
Sourcepub fn new_subscribe(sender: String, event_type: EventType) -> Self
pub fn new_subscribe(sender: String, event_type: EventType) -> Self
创建订阅消息
Sourcepub fn new_unsubscribe(sender: String, event_type: EventType) -> Self
pub fn new_unsubscribe(sender: String, event_type: EventType) -> Self
创建取消订阅消息
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Message
impl<'de> Deserialize<'de> for Message
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnsafeUnpin for Message
impl UnwindSafe for Message
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more