dope-manifold 0.26.0

Owned application and service composition for dope
Documentation
use std::convert;

use dope_core::driver::{retained, route::Identity, schedule};
use dope_net::{
    link::pool,
    wire::receive::{Chunk, batch},
};

use crate::{app::receive::ingress, client::app};

pub(in crate::client) trait Receiver<'w, 'd: 'w, ID: Identity, A>
where
    A: app::Application<'d, ID>,
{
    fn borrowed<'input, 'turn, 'driver, 'context, 'owner>(
        self,
        key: pool::Key<'d, ID>,
        batch: batch::Items<'input, A::Wire>,
        turn: schedule::Turn<'turn, 'd>,
        driver: &'driver mut retained::Context<'context, 'owner, 'd>,
    ) -> ingress::Progress<convert::Infallible>
    where
        'd: 'input,
        'd: 'owner,
        A: app::Borrowed<'d, ID>;

    fn retained<'turn, 'driver, 'context, 'owner>(
        self,
        key: pool::Key<'d, ID>,
        chunk: Chunk<'w, 'd, A::Wire>,
        turn: schedule::Turn<'turn, 'd>,
        driver: &'driver mut retained::Context<'context, 'owner, 'd>,
    ) -> ingress::Progress<convert::Infallible>
    where
        'd: 'owner,
        A: app::Owned<'w, 'd, ID>;
}