正在显示
1 个修改的文件
包含
71 行增加
和
0 行删除
src/server/spserver/sphandler.hpp
0 → 100644
1 | +/* | ||
2 | + * Copyright 2007 Stephen Liu | ||
3 | + * For license terms, see the file COPYING along with this library. | ||
4 | + */ | ||
5 | + | ||
6 | + | ||
7 | +#ifndef __sphandler_hpp__ | ||
8 | +#define __sphandler_hpp__ | ||
9 | + | ||
10 | +class SP_Buffer; | ||
11 | +class SP_Request; | ||
12 | +class SP_Response; | ||
13 | +class SP_Message; | ||
14 | + | ||
15 | +struct event; | ||
16 | +struct timeval; | ||
17 | + | ||
18 | +class SP_Handler { | ||
19 | +public: | ||
20 | + virtual ~SP_Handler(); | ||
21 | + | ||
22 | + // return -1 : terminate session, 0 : continue | ||
23 | + virtual int start( SP_Request * request, SP_Response * response ) = 0; | ||
24 | + | ||
25 | + // return -1 : terminate session, 0 : continue | ||
26 | + virtual int handle( SP_Request * request, SP_Response * response ) = 0; | ||
27 | + | ||
28 | + virtual void error( SP_Response * response ) = 0; | ||
29 | + | ||
30 | + virtual void timeout( SP_Response * response ) = 0; | ||
31 | + | ||
32 | + virtual void close() = 0; | ||
33 | +}; | ||
34 | + | ||
35 | +class SP_TimerHandler { | ||
36 | +public: | ||
37 | + virtual ~SP_TimerHandler(); | ||
38 | + | ||
39 | + // return -1 : terminate timer, 0 : continue | ||
40 | + virtual int handle( SP_Response * response, struct timeval * timeout ) = 0; | ||
41 | +}; | ||
42 | + | ||
43 | +/** | ||
44 | + * @note Asynchronous Completion Token | ||
45 | + */ | ||
46 | +class SP_CompletionHandler { | ||
47 | +public: | ||
48 | + virtual ~SP_CompletionHandler(); | ||
49 | + | ||
50 | + virtual void completionMessage( SP_Message * msg ) = 0; | ||
51 | +}; | ||
52 | + | ||
53 | +class SP_DefaultCompletionHandler : public SP_CompletionHandler { | ||
54 | +public: | ||
55 | + SP_DefaultCompletionHandler(); | ||
56 | + ~SP_DefaultCompletionHandler(); | ||
57 | + | ||
58 | + virtual void completionMessage( SP_Message * msg ); | ||
59 | +}; | ||
60 | + | ||
61 | +class SP_HandlerFactory { | ||
62 | +public: | ||
63 | + virtual ~SP_HandlerFactory(); | ||
64 | + | ||
65 | + virtual SP_Handler * create() const = 0; | ||
66 | + | ||
67 | + virtual SP_CompletionHandler * createCompletionHandler() const; | ||
68 | +}; | ||
69 | + | ||
70 | +#endif | ||
71 | + |
请
注册
或
登录
后发表评论