pub enum GlobalMessage {
Direct {
sender: String,
recipient: String,
content: MessageContent,
},
Broadcast {
sender: String,
topic: String,
content: MessageContent,
},
Request {
sender: String,
recipient: String,
request_id: String,
content: MessageContent,
expect_reply: bool,
},
Response {
responder: String,
request_id: String,
content: MessageContent,
},
PubSub {
publisher: String,
topic: String,
content: MessageContent,
},
}Expand description
全局消息类型
替代多处重复的 AgentMessage 定义,提供全局消息抽象。
§消息模式
Direct: 点对点直接消息Broadcast: 广播消息到所有订阅者Request: 请求消息(期待响应)Response: 响应消息PubSub: 发布-订阅模式
Variants§
Direct
点对点直接消息
Broadcast
广播消息
Request
请求消息(期待响应)
Fields
§
content: MessageContent消息内容
Response
响应消息
PubSub
发布-订阅消息
Implementations§
Source§impl GlobalMessage
impl GlobalMessage
Sourcepub fn message_type(&self) -> &'static str
pub fn message_type(&self) -> &'static str
获取消息类型标识
Sourcepub fn direct(
sender: impl Into<String>,
recipient: impl Into<String>,
content: MessageContent,
) -> Self
pub fn direct( sender: impl Into<String>, recipient: impl Into<String>, content: MessageContent, ) -> Self
创建点对点消息
Sourcepub fn broadcast(
sender: impl Into<String>,
topic: impl Into<String>,
content: MessageContent,
) -> Self
pub fn broadcast( sender: impl Into<String>, topic: impl Into<String>, content: MessageContent, ) -> Self
创建广播消息
Trait Implementations§
Source§impl Clone for GlobalMessage
impl Clone for GlobalMessage
Source§fn clone(&self) -> GlobalMessage
fn clone(&self) -> GlobalMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GlobalMessage
impl Debug for GlobalMessage
Source§impl<'de> Deserialize<'de> for GlobalMessage
impl<'de> Deserialize<'de> for GlobalMessage
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 GlobalMessage
impl RefUnwindSafe for GlobalMessage
impl Send for GlobalMessage
impl Sync for GlobalMessage
impl Unpin for GlobalMessage
impl UnsafeUnpin for GlobalMessage
impl UnwindSafe for GlobalMessage
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