pub struct ChannelReporter { /* private fields */ }Expand description
Reporter adapter that forwards events over a channel.
Use this when you need expensive or async event processing without blocking the agent loop. The receiving end can live on a dedicated thread or async task.
§Example
use agentkit_reporting::ChannelReporter;
let (reporter, rx) = ChannelReporter::pair();
// Spawn a consumer on another thread.
std::thread::spawn(move || {
while let Ok(event) = rx.recv() {
println!("{event:?}");
}
});
// `reporter` implements `LoopObserver` — hand it to the agent loop.Implementations§
Source§impl ChannelReporter
impl ChannelReporter
Sourcepub fn new(sender: Sender<AgentEvent>) -> Self
pub fn new(sender: Sender<AgentEvent>) -> Self
Creates a ChannelReporter from an existing sender.
Sourcepub fn pair() -> (Self, Receiver<AgentEvent>)
pub fn pair() -> (Self, Receiver<AgentEvent>)
Creates a ChannelReporter together with the receiving end of the
channel.
This is a convenience wrapper around std::sync::mpsc::channel.
Trait Implementations§
Source§impl FallibleObserver for ChannelReporter
impl FallibleObserver for ChannelReporter
Source§fn try_handle_event(&mut self, event: &AgentEvent) -> Result<(), ReportError>
fn try_handle_event(&mut self, event: &AgentEvent) -> Result<(), ReportError>
Process an event, returning an error if something goes wrong.
Source§impl LoopObserver for ChannelReporter
impl LoopObserver for ChannelReporter
Source§fn handle_event(&mut self, event: AgentEvent)
fn handle_event(&mut self, event: AgentEvent)
Called synchronously for every
AgentEvent emitted by the loop driver.Auto Trait Implementations§
impl Freeze for ChannelReporter
impl RefUnwindSafe for ChannelReporter
impl Send for ChannelReporter
impl Sync for ChannelReporter
impl Unpin for ChannelReporter
impl UnsafeUnpin for ChannelReporter
impl UnwindSafe for ChannelReporter
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