pub struct Engine { /* private fields */ }Expand description
The envoy coordination engine — wraps sqlitegraph’s graph database and pub/sub Publisher for agent-oriented coordination.
Uses sqlitegraph 2.2.0’s indexed kind-based lookups (find_entity_by_kind_and_name,
find_entities_by_kind) for O(1) entity resolution without in-memory caches.
Implementations§
Source§impl Engine
impl Engine
Sourcepub fn open(path: &str) -> Result<Self>
pub fn open(path: &str) -> Result<Self>
Open (or create) an envoy database backed by sqlitegraph.
Sourcepub fn open_in_memory() -> Result<Self>
pub fn open_in_memory() -> Result<Self>
Open an in-memory engine for testing.
Sourcepub fn publisher(&self) -> &Publisher
pub fn publisher(&self) -> &Publisher
Access the underlying sqlitegraph Publisher for real-time event listeners.
Sourcepub fn graph(&self) -> &SqliteGraph
pub fn graph(&self) -> &SqliteGraph
Access the underlying sqlitegraph for direct graph operations.
pub fn create_channel(&self, name: &str, description: &str) -> Result<Channel>
pub fn get_channel(&self, name: &str) -> Result<Channel>
pub fn get_channel_by_id(&self, id: i64) -> Result<Channel>
pub fn list_channels(&self) -> Result<Vec<Channel>>
pub fn publish( &self, channel_name: &str, sender: &str, payload: EventPayload, ) -> Result<Event>
pub fn replay( &self, channel_name: &str, since_sequence: i64, limit: Option<i64>, ) -> Result<Vec<Event>>
pub fn catch_up(&self, agent_id: &str, channel_name: &str) -> Result<Vec<Event>>
pub fn subscribe( &self, agent_id: &str, channel_name: &str, ) -> Result<Subscription>
pub fn unsubscribe(&self, agent_id: &str, channel_name: &str) -> Result<()>
pub fn get_subscription( &self, agent_id: &str, channel_name: &str, ) -> Result<Subscription>
pub fn list_subscriptions(&self, agent_id: &str) -> Result<Vec<Subscription>>
pub fn status(&self) -> Result<EngineStats>
Auto Trait Implementations§
impl !Freeze for Engine
impl !RefUnwindSafe for Engine
impl !Sync for Engine
impl !UnwindSafe for Engine
impl Send for Engine
impl Unpin for Engine
impl UnsafeUnpin for Engine
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more
Source§fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_request_id<M>(
self,
header_name: HeaderName,
make_request_id: M,
) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Add request id header and extension. Read more
Source§fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
fn set_x_request_id<M>(self, make_request_id: M) -> SetRequestId<Self, M>where
Self: Sized,
M: MakeRequestId,
Add request id header and extension, using
x-request-id as the header name. Read moreSource§fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_request_id(
self,
header_name: HeaderName,
) -> PropagateRequestId<Self>where
Self: Sized,
Propgate request ids from requests to responses. Read more
Source§fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
fn propagate_x_request_id(self) -> PropagateRequestId<Self>where
Self: Sized,
Propgate request ids from requests to responses, using
x-request-id as the header name. Read more