pub struct Message {
pub id: Uuid,
pub msg_type: MessageType,
pub source: String,
pub target: Option<String>,
pub topic: Option<String>,
pub payload: Vec<u8>,
pub correlation_id: Option<Uuid>,
pub metadata: MessageMetadata,
}Expand description
Core message type for IPC communication
Fields§
§id: UuidUnique message ID
msg_type: MessageTypeMessage type (request, response, event, etc.)
source: StringSource process name
target: Option<String>Target process name (optional for broadcasts)
topic: Option<String>Topic for pub/sub messages
payload: Vec<u8>Serialized payload
correlation_id: Option<Uuid>Optional correlation ID for request/response
metadata: MessageMetadataMessage metadata
Implementations§
Source§impl Message
impl Message
Source§impl Message
impl Message
Sourcepub fn service_register(source: String, service_info: ServiceInfo) -> Self
pub fn service_register(source: String, service_info: ServiceInfo) -> Self
Create a service registration message
Sourcepub fn service_query(source: String, service_name: Option<String>) -> Self
pub fn service_query(source: String, service_name: Option<String>) -> Self
Create a service query message
Sourcepub fn service_directory(
source: String,
target: String,
directory: ServiceDirectory,
correlation_id: Option<Uuid>,
) -> Self
pub fn service_directory( source: String, target: String, directory: ServiceDirectory, correlation_id: Option<Uuid>, ) -> Self
Create a service directory response message
Sourcepub fn subscription_request(
source: String,
target: Option<String>,
method: String,
params: Vec<u8>,
) -> Self
pub fn subscription_request( source: String, target: Option<String>, method: String, params: Vec<u8>, ) -> Self
Create a subscription request message
Sourcepub fn subscription_accept(
source: String,
target: String,
subscription_id: Uuid,
) -> Self
pub fn subscription_accept( source: String, target: String, subscription_id: Uuid, ) -> Self
Create a subscription accept message
Sourcepub fn subscription_reject(
source: String,
target: String,
subscription_id: Uuid,
reason: String,
) -> Self
pub fn subscription_reject( source: String, target: String, subscription_id: Uuid, reason: String, ) -> Self
Create a subscription reject message
Sourcepub fn subscription_data(
source: String,
target: String,
subscription_id: Uuid,
data: Value,
) -> Self
pub fn subscription_data( source: String, target: String, subscription_id: Uuid, data: Value, ) -> Self
Create a subscription data message
Sourcepub fn subscription_cancel(
source: String,
target: String,
subscription_id: Uuid,
) -> Self
pub fn subscription_cancel( source: String, target: String, subscription_id: Uuid, ) -> Self
Create a subscription cancel message
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 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