1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
use context::Context;
use message::MessageFuture;
#[doc(hidden)]
pub trait ActixActor {}
#[allow(unused_variables)]
pub trait Actor: Sized + 'static {
fn start(&mut self, ctx: &mut Context<Self>) {}
fn finished(&mut self, ctx: &mut Context<Self>) {}
}
impl<T> ActixActor for T where T: Actor {}
pub trait Message: Sized + 'static {
type Item;
type Error;
}
#[allow(unused_variables)]
pub trait MessageHandler<M> where Self: Actor
{
type Item;
type Error;
type InputError;
fn error(&mut self, err: Self::InputError, ctx: &mut Context<Self>) {}
fn handle(&mut self, msg: M, ctx: &mut Context<Self>) -> MessageFuture<Self, M>;
}
#[allow(unused_variables)]
pub trait StreamHandler<M>: MessageHandler<M>
where Self: Actor
{
fn start(&mut self, ctx: &mut Context<Self>) {}
fn finished(&mut self, ctx: &mut Context<Self>) {}
}