1use wasmrs_runtime::ConditionallySend;
2
3use crate::packet_stream::BoxStream;
4use crate::VPacket;
5
6pub trait UnaryInputs<T>: ConditionallySend
7where
8 T: ConditionallySend,
9{
10 fn input(&mut self) -> &mut BoxStream<VPacket<T>>;
11 fn take_input(self) -> BoxStream<VPacket<T>>;
12}
13
14pub trait BinaryInputs<L, R>: ConditionallySend
15where
16 L: ConditionallySend,
17 R: ConditionallySend,
18{
19 fn left(&mut self) -> &mut BoxStream<VPacket<L>>;
20 fn right(&mut self) -> &mut BoxStream<VPacket<R>>;
21 fn both(self) -> (BoxStream<VPacket<L>>, BoxStream<VPacket<R>>);
22}