cda-group/arcon

Multiple Backends per Operator

Max-Meldrum opened this issue · 0 comments

This needs some further investigation, but could look something like this..

#[derive(ArconState)]
pub struct MyState<A: Backend, B: Backend> {
    other: EagerValue<SomeObject, A>,
    events: EagerValue<Event, B>
}

impl<A: Backend, B: Backend> StateConstructor for MyState<A, B> {
    type BackendType = (A, B);

    fn new(backend: Arc<Self::BackendType>) -> Self {
        Self {
            other: EagerValue::new("_other", backend.0),
            events: EagerValue::new("_events", backend.1),
        }
    }
}
// MyState<Rocks, Sled>