1 /*
2  * hunt-proton: AMQP Protocol library for D programming language.
3  *
4  * Copyright (C) 2018-2019 HuntLabs
5  *
6  * Website: https://www.huntlabs.net/
7  *
8  * Licensed under the Apache-2.0 License.
9  *
10  */
11 
12 module hunt.proton.engine.CoreHandler;
13 import hunt.proton.engine.Handler;
14 import hunt.proton.engine.Event;
15 
16 interface CoreHandler : Handler {
17     void onConnectionInit(Event e);
18     void onConnectionLocalOpen(Event e);
19     void onConnectionRemoteOpen(Event e);
20     void onConnectionLocalClose(Event e);
21     void onConnectionRemoteClose(Event e);
22     void onConnectionBound(Event e);
23     void onConnectionUnbound(Event e);
24     void onConnectionFinal(Event e);
25 
26     void onSessionInit(Event e);
27     void onSessionLocalOpen(Event e);
28     void onSessionRemoteOpen(Event e);
29     void onSessionLocalClose(Event e);
30     void onSessionRemoteClose(Event e);
31     void onSessionFinal(Event e);
32 
33     void onLinkInit(Event e);
34     void onLinkLocalOpen(Event e);
35     void onLinkRemoteOpen(Event e);
36     void onLinkLocalDetach(Event e);
37     void onLinkRemoteDetach(Event e);
38     void onLinkLocalClose(Event e);
39     void onLinkRemoteClose(Event e);
40     void onLinkFlow(Event e);
41     void onLinkFinal(Event e);
42 
43     void onDelivery(Event e);
44     void onTransport(Event e);
45     void onTransportError(Event e);
46     void onTransportHeadClosed(Event e);
47     void onTransportTailClosed(Event e);
48     void onTransportClosed(Event e);
49 
50     void onReactorInit(Event e);
51     void onReactorQuiesced(Event e);
52     void onReactorFinal(Event e);
53 
54     void onTimerTask(Event e);
55 
56     void onSelectableInit(Event e);
57     void onSelectableUpdated(Event e);
58     void onSelectableReadable(Event e);
59     void onSelectableWritable(Event e);
60     void onSelectableExpired(Event e);
61     void onSelectableError(Event e);
62     void onSelectableFinal(Event e);
63 
64 }