Passed
Push — develop ( 065f10...1d4e29 )
by Aleksandr
01:25
created

AbstractServer::onConnect()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace AlexCool\Rcon\Server;
4
5
use Swoole\Server;
6
7
/**
8
 * @author Aleksandr Kulina <[email protected]>
9
 *
10
 * @package AlexCool\Rcon\Server
11
 */
12
abstract class AbstractServer
13
{
14
    /**
15
     * Events
16
     */
17
    const CLOSE_EVENT = 'close';
18
    const MESSAGE_EVENT = 'message';
19
    const START_EVENT = 'start';
20
    const SHUTDOWN_EVENT = 'shutdown';
21
    const WORKER_START_EVENT = 'WorkerStart';
22
    const WORKER_STOP_EVENT = 'WorkerStop';
23
    const WORKER_ERROR_EVENT = 'WorkerError';
24
    const TIMER_EVENT = 'timer';
25
    const CONNECT_EVENT = 'connect';
26
    const RECEIVE_EVENT = 'receive';
27
    const TASK_EVENT = 'task';
28
    const FINISH_EVENT = 'finish';
29
    const PIPE_MESSAGE_EVENT = 'PipeMessage';
30
    const MANAGER_START_EVENT = 'ManagerStart';
31
    const MANAGER_STOP_EVENT = 'ManagerStop';
32
33
    /**
34
     * @var Server
35
     */
36
    protected $server;
37
38
    /**
39
     * @return void
40
     */
41
    public function run()
42
    {
43
        $this->server->start();
44
    }
45
46
    /**
47
     * @param callable $callback
48
     */
49
    public function onStart(callable $callback)
50
    {
51
        $this->server->on(self::START_EVENT, $callback);
52
    }
53
54
    /**
55
     * @param callable $callback
56
     */
57
    public function onClose(callable $callback)
58
    {
59
        $this->server->on(self::CLOSE_EVENT, $callback);
60
    }
61
62
    /**
63
     * @param callable $callback
64
     */
65
    public function onShutdown(callable $callback)
66
    {
67
        $this->server->on(self::SHUTDOWN_EVENT, $callback);
68
    }
69
    /**
70
     * @param callable $callback
71
     */
72
    public function onWorkerStart(callable $callback)
73
    {
74
        $this->server->on(self::WORKER_START_EVENT, $callback);
75
    }
76
77
    /**
78
     * @param callable $callback
79
     */
80
    public function onWorkerStop(callable $callback)
81
    {
82
        $this->server->on(self::WORKER_STOP_EVENT, $callback);
83
    }
84
85
    /**
86
     * @param callable $callback
87
     */
88
    public function onWorkerError(callable $callback)
89
    {
90
        $this->server->on(self::WORKER_ERROR_EVENT, $callback);
91
    }
92
93
    /**
94
     * @param callable $callback
95
     */
96
    public function onMessage(callable $callback)
97
    {
98
        $this->server->on(self::MESSAGE_EVENT, $callback);
99
    }
100
101
    /**
102
     * @param callable $callback
103
     */
104
    public function onTimer(callable $callback)
105
    {
106
        $this->server->on(self::TIMER_EVENT, $callback);
107
    }
108
109
    /**
110
     * @param callable $callback
111
     */
112
    public function onConnect(callable $callback)
113
    {
114
        $this->server->on(self::CONNECT_EVENT, $callback);
115
    }
116
117
    /**
118
     * @param callable $callback
119
     */
120
    public function onReceive(callable $callback)
121
    {
122
        $this->server->on(self::RECEIVE_EVENT, $callback);
123
    }
124
125
    /**
126
     * @param callable $callback
127
     */
128
    public function onTask(callable $callback)
129
    {
130
        $this->server->on(self::TASK_EVENT, $callback);
131
    }
132
133
    /**
134
     * @param callable $callback
135
     */
136
    public function onFinish(callable $callback)
137
    {
138
        $this->server->on(self::FINISH_EVENT, $callback);
139
    }
140
141
    /**
142
     * @param callable $callback
143
     */
144
    public function onPipeMessage(callable $callback)
145
    {
146
        $this->server->on(self::PIPE_MESSAGE_EVENT, $callback);
147
    }
148
149
    /**
150
     * @param callable $callback
151
     */
152
    public function onManagerStart(callable $callback)
153
    {
154
        $this->server->on(self::MANAGER_START_EVENT, $callback);
155
    }
156
157
    /**
158
     * @param callable $callback
159
     */
160
    public function onManagerStop(callable $callback)
161
    {
162
        $this->server->on(self::MANAGER_STOP_EVENT, $callback);
163
    }
164
}
165