pub trait FeedbackLogic<A, B, S>: 'static + Debugwhere
    A: Feedback<S>,
    B: Feedback<S>,
    S: UsesInput + HasClientPerfMonitor,
{ fn name() -> &'static str; fn is_pair_interesting<EM, OT>(
        first: &mut A,
        second: &mut B,
        state: &mut S,
        manager: &mut EM,
        input: &S::Input,
        observers: &OT,
        exit_kind: &ExitKind
    ) -> Result<bool, Error>
    where
        EM: EventFirer<State = S>,
        OT: ObserversTuple<S>
; }
Expand description

Logical combination of two feedbacks

Required Methods§

source

fn name() -> &'static str

The name of this combination

source

fn is_pair_interesting<EM, OT>(
    first: &mut A,
    second: &mut B,
    state: &mut S,
    manager: &mut EM,
    input: &S::Input,
    observers: &OT,
    exit_kind: &ExitKind
) -> Result<bool, Error>where
    EM: EventFirer<State = S>,
    OT: ObserversTuple<S>,

If the feedback pair is interesting

Implementors§

source§

impl<A, B, S> FeedbackLogic<A, B, S> for LogicEagerAndwhere
    A: Feedback<S>,
    B: Feedback<S>,
    S: UsesInput + HasClientPerfMonitor,

source§

impl<A, B, S> FeedbackLogic<A, B, S> for LogicEagerOrwhere
    A: Feedback<S>,
    B: Feedback<S>,
    S: UsesInput + HasClientPerfMonitor,

source§

impl<A, B, S> FeedbackLogic<A, B, S> for LogicFastAndwhere
    A: Feedback<S>,
    B: Feedback<S>,
    S: UsesInput + HasClientPerfMonitor,

source§

impl<A, B, S> FeedbackLogic<A, B, S> for LogicFastOrwhere
    A: Feedback<S>,
    B: Feedback<S>,
    S: UsesInput + HasClientPerfMonitor,