Skip to main content

GatewayStore

Trait GatewayStore 

Source
pub trait GatewayStore {
    // Required methods
    fn put_request(
        &mut self,
        id: ContentId,
        request: GatewayRequest,
    ) -> Result<()>;
    fn request(&self, id: &ContentId) -> Option<GatewayRequest>;
    fn put_run(&mut self, id: ContentId, run: GatewayRun) -> Result<()>;
    fn run(&self, id: &ContentId) -> Option<GatewayRun>;
    fn put_event(&mut self, id: ContentId, event: GatewayEvent) -> Result<()>;
    fn event(&self, id: &ContentId) -> Option<GatewayEvent>;
    fn put_response(
        &mut self,
        id: ContentId,
        response: GatewayResponse,
    ) -> Result<()>;
    fn response(&self, id: &ContentId) -> Option<GatewayResponse>;
}
Expand description

Content-addressed store for the gateway’s eval-pipeline records.

Each record is keyed by its ContentId, so writing the same value twice is idempotent. Concrete backends implement this trait over in-memory maps or SIM tables.

Required Methods§

Source

fn put_request(&mut self, id: ContentId, request: GatewayRequest) -> Result<()>

Stores a request under its content id.

Source

fn request(&self, id: &ContentId) -> Option<GatewayRequest>

Returns the request stored under id, if present.

Source

fn put_run(&mut self, id: ContentId, run: GatewayRun) -> Result<()>

Stores a run under its content id.

Source

fn run(&self, id: &ContentId) -> Option<GatewayRun>

Returns the run stored under id, if present.

Source

fn put_event(&mut self, id: ContentId, event: GatewayEvent) -> Result<()>

Stores an event under its content id.

Source

fn event(&self, id: &ContentId) -> Option<GatewayEvent>

Returns the event stored under id, if present.

Source

fn put_response( &mut self, id: ContentId, response: GatewayResponse, ) -> Result<()>

Stores a response under its content id.

Source

fn response(&self, id: &ContentId) -> Option<GatewayResponse>

Returns the response stored under id, if present.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§