pub struct Event {
pub delivery: EventDelivery,
pub content: EventContent,
pub payload: EventPayload,
pub metadata: EventMetadata,
}Expand description
Event structure containing all event information
§Design Philosophy
This design separates delivery mechanism from event content:
delivery: HOW the event is delivered (direct, channel, group, broadcast)content: WHAT the event represents (signal, message, notification)payload: Additional data carried with the eventmetadata: System-level tracking information
Fields§
§delivery: EventDeliveryEvent delivery mechanism (routing and targeting)
content: EventContentEvent content (what this event represents)
payload: EventPayloadEvent payload data (additional data)
metadata: EventMetadataEvent metadata (system tracking)
Implementations§
Source§impl Event
Convenience functions for creating events
impl Event
Convenience functions for creating events
Sourcepub fn new(
delivery: EventDelivery,
content: EventContent,
payload: EventPayload,
) -> Self
pub fn new( delivery: EventDelivery, content: EventContent, payload: EventPayload, ) -> Self
Create a new event with delivery, content, and payload
Sourcepub fn direct_process_control(
target: TaskId,
ptype: ProcessControlType,
priority: EventPriority,
reliable: bool,
) -> Self
pub fn direct_process_control( target: TaskId, ptype: ProcessControlType, priority: EventPriority, reliable: bool, ) -> Self
Create a direct process control event to a specific task
Sourcepub fn direct_custom(
target: TaskId,
namespace: String,
event_id: u32,
priority: EventPriority,
reliable: bool,
payload: EventPayload,
) -> Self
pub fn direct_custom( target: TaskId, namespace: String, event_id: u32, priority: EventPriority, reliable: bool, payload: EventPayload, ) -> Self
Create a direct custom event to a specific task
Sourcepub fn channel(
channel_id: String,
content: EventContent,
create_if_missing: bool,
priority: EventPriority,
payload: EventPayload,
) -> Self
pub fn channel( channel_id: String, content: EventContent, create_if_missing: bool, priority: EventPriority, payload: EventPayload, ) -> Self
Create a channel event
Sourcepub fn group(
group_target: GroupTarget,
content: EventContent,
priority: EventPriority,
reliable: bool,
payload: EventPayload,
) -> Self
pub fn group( group_target: GroupTarget, content: EventContent, priority: EventPriority, reliable: bool, payload: EventPayload, ) -> Self
Create a group event
Sourcepub fn broadcast(
content: EventContent,
priority: EventPriority,
reliable: bool,
payload: EventPayload,
) -> Self
pub fn broadcast( content: EventContent, priority: EventPriority, reliable: bool, payload: EventPayload, ) -> Self
Create a broadcast event
Sourcepub fn immediate_process_control(
task_id: u32,
ptype: ProcessControlType,
) -> Self
pub fn immediate_process_control( task_id: u32, ptype: ProcessControlType, ) -> Self
Create immediate process control event for a specific task
Sourcepub fn notification_to_task(task_id: u32, ntype: NotificationType) -> Self
pub fn notification_to_task(task_id: u32, ntype: NotificationType) -> Self
Create notification event for a specific task
Sourcepub fn new_channel_event(
channel: &str,
content: EventContent,
payload: EventPayload,
) -> Self
pub fn new_channel_event( channel: &str, content: EventContent, payload: EventPayload, ) -> Self
Create channel event (simple)
Sourcepub fn new_group_broadcast(
group_target: GroupTarget,
content: EventContent,
payload: EventPayload,
) -> Self
pub fn new_group_broadcast( group_target: GroupTarget, content: EventContent, payload: EventPayload, ) -> Self
Create group broadcast event (simple)
Sourcepub fn immediate_broadcast(content: EventContent) -> Self
pub fn immediate_broadcast(content: EventContent) -> Self
Create immediate broadcast event
Sourcepub fn notification_to_group(group_id: GroupId, ntype: NotificationType) -> Self
pub fn notification_to_group(group_id: GroupId, ntype: NotificationType) -> Self
Create notification for a group
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Event
impl RefUnwindSafe for Event
impl Send for Event
impl Sync for Event
impl Unpin for Event
impl UnwindSafe for Event
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)