Completed
Push — master ( ec9c11...6665cb )
by y
01:14
created
src/AbstractSocket.php 3 patches
Braces   +2 added lines, -4 removed lines patch added patch discarded remove patch
@@ -52,11 +52,9 @@
 block discarded – undo
52 52
     public function __construct ($resource) {
53 53
         if (!is_resource($resource) or get_resource_type($resource) !== 'Socket') {
54 54
             throw new InvalidArgumentException('Expected an open socket resource.', SOCKET_EBADF);
55
-        }
56
-        elseif (socket_get_option($resource, SOL_SOCKET, SO_TYPE) !== static::getType()) {
55
+        } elseif (socket_get_option($resource, SOL_SOCKET, SO_TYPE) !== static::getType()) {
57 56
             throw new InvalidArgumentException('Invalid socket type for ' . static::class, SOCKET_ESOCKTNOSUPPORT);
58
-        }
59
-        elseif ($errno = SocketError::getLast($resource)) {
57
+        } elseif ($errno = SocketError::getLast($resource)) {
60 58
             // "File descriptor in bad state"
61 59
             throw new SocketError(SOCKET_EBADFD, 0, new SocketError($errno));
62 60
         }
Please login to merge, or discard this patch.
Doc Comments   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -154,7 +154,7 @@  discard block
 block discarded – undo
154 154
      * @link https://php.net/socket_get_option
155 155
      *
156 156
      * @param int $option `SO_*` option constant.
157
-     * @return mixed The option's value. This is never `false`.
157
+     * @return integer The option's value. This is never `false`.
158 158
      * @throws SocketError
159 159
      */
160 160
     public function getOption (int $option) {
@@ -222,7 +222,7 @@  discard block
 block discarded – undo
222 222
      * @see await()
223 223
      *
224 224
      * @param int $channel `SocketInterface` channel constant.
225
-     * @param float|null $timeout Maximum seconds to block. `NULL` blocks forever. Defaults to a poll.
225
+     * @param integer $timeout Maximum seconds to block. `NULL` blocks forever. Defaults to a poll.
226 226
      * @return bool
227 227
      * @throws SocketError
228 228
      */
Please login to merge, or discard this patch.
Spacing   +29 added lines, -29 removed lines patch added patch discarded remove patch
@@ -14,7 +14,7 @@  discard block
 block discarded – undo
14 14
      *
15 15
      * @return int
16 16
      */
17
-    abstract public static function getType (): int;
17
+    abstract public static function getType(): int;
18 18
 
19 19
     /**
20 20
      * The underlying PHP resource.
@@ -33,7 +33,7 @@  discard block
 block discarded – undo
33 33
      * @return static
34 34
      * @throws SocketError
35 35
      */
36
-    public static function create (int $domain = AF_INET, ...$extra) {
36
+    public static function create(int $domain = AF_INET, ...$extra) {
37 37
         if (!$resource = @socket_create($domain, static::getType(), 0)) { // auto-protocol
38 38
             throw new SocketError; // reliable errno
39 39
         }
@@ -49,12 +49,12 @@  discard block
 block discarded – undo
49 49
      * @throws InvalidArgumentException Not a socket resource, or the socket is of the wrong type.
50 50
      * @throws SocketError Slippage of an existing error on the resource.
51 51
      */
52
-    public function __construct ($resource) {
52
+    public function __construct($resource) {
53 53
         if (!is_resource($resource) or get_resource_type($resource) !== 'Socket') {
54 54
             throw new InvalidArgumentException('Expected an open socket resource.', SOCKET_EBADF);
55 55
         }
56 56
         elseif (socket_get_option($resource, SOL_SOCKET, SO_TYPE) !== static::getType()) {
57
-            throw new InvalidArgumentException('Invalid socket type for ' . static::class, SOCKET_ESOCKTNOSUPPORT);
57
+            throw new InvalidArgumentException('Invalid socket type for '.static::class, SOCKET_ESOCKTNOSUPPORT);
58 58
         }
59 59
         elseif ($errno = SocketError::getLast($resource)) {
60 60
             // "File descriptor in bad state"
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
      *
69 69
      * @see close()
70 70
      */
71
-    public function __destruct () {
71
+    public function __destruct() {
72 72
         if ($this->isOpen()) {
73 73
             $this->close();
74 74
         }
@@ -85,7 +85,7 @@  discard block
 block discarded – undo
85 85
      * @return $this
86 86
      * @throws SocketError
87 87
      */
88
-    public function await (int $channel) {
88
+    public function await(int $channel) {
89 89
         $rwe = [$channel => [$this->resource]];
90 90
         if (!@socket_select($rwe[0], $rwe[1], $rwe[2], null)) {
91 91
             throw new SocketError($this->resource);
@@ -98,7 +98,7 @@  discard block
 block discarded – undo
98 98
      *
99 99
      * @return $this
100 100
      */
101
-    final public function awaitOutOfBand () {
101
+    final public function awaitOutOfBand() {
102 102
         return $this->await(self::CH_EXCEPT);
103 103
     }
104 104
 
@@ -107,7 +107,7 @@  discard block
 block discarded – undo
107 107
      *
108 108
      * @return $this
109 109
      */
110
-    final public function awaitReadable () {
110
+    final public function awaitReadable() {
111 111
         return $this->await(self::CH_READ);
112 112
     }
113 113
 
@@ -116,7 +116,7 @@  discard block
 block discarded – undo
116 116
      *
117 117
      * @return $this
118 118
      */
119
-    final public function awaitWritable () {
119
+    final public function awaitWritable() {
120 120
         return $this->await(self::CH_WRITE);
121 121
     }
122 122
 
@@ -127,7 +127,7 @@  discard block
 block discarded – undo
127 127
      *
128 128
      * @return $this
129 129
      */
130
-    public function close () {
130
+    public function close() {
131 131
         socket_close($this->resource); // never errors
132 132
         return $this;
133 133
     }
@@ -137,15 +137,15 @@  discard block
 block discarded – undo
137 137
      *
138 138
      * @return int
139 139
      */
140
-    final public function getDomain (): int {
140
+    final public function getDomain(): int {
141 141
         return $this->getOption(39); // SO_DOMAIN is not exposed by PHP
142 142
     }
143 143
 
144 144
     /**
145 145
      * @inheritDoc
146 146
      */
147
-    final public function getId (): int {
148
-        return (int)$this->resource;
147
+    final public function getId(): int {
148
+        return (int) $this->resource;
149 149
     }
150 150
 
151 151
     /**
@@ -157,7 +157,7 @@  discard block
 block discarded – undo
157 157
      * @return mixed The option's value. This is never `false`.
158 158
      * @throws SocketError
159 159
      */
160
-    public function getOption (int $option) {
160
+    public function getOption(int $option) {
161 161
         $value = @socket_get_option($this->resource, SOL_SOCKET, $option);
162 162
         if ($value === false) {
163 163
             throw new SocketError($this->resource, SOCKET_EINVAL);
@@ -168,7 +168,7 @@  discard block
 block discarded – undo
168 168
     /**
169 169
      * @inheritDoc
170 170
      */
171
-    final public function getResource () {
171
+    final public function getResource() {
172 172
         return $this->resource;
173 173
     }
174 174
 
@@ -180,7 +180,7 @@  discard block
 block discarded – undo
180 180
      * @return array `[ 0 => address, 1 => port ]`
181 181
      * @throws SocketError
182 182
      */
183
-    public function getSockName (): array {
183
+    public function getSockName(): array {
184 184
         if (!@socket_getsockname($this->resource, $addr, $port)) {
185 185
             throw new SocketError($this->resource, SOCKET_EOPNOTSUPP);
186 186
         }
@@ -190,7 +190,7 @@  discard block
 block discarded – undo
190 190
     /**
191 191
      * @inheritDoc
192 192
      */
193
-    public function isOpen (): bool {
193
+    public function isOpen(): bool {
194 194
         return is_resource($this->resource);
195 195
     }
196 196
 
@@ -201,7 +201,7 @@  discard block
 block discarded – undo
201 201
      *
202 202
      * @return bool
203 203
      */
204
-    final public function isOutOfBand (): bool {
204
+    final public function isOutOfBand(): bool {
205 205
         return $this->isReady(self::CH_EXCEPT);
206 206
     }
207 207
 
@@ -212,7 +212,7 @@  discard block
 block discarded – undo
212 212
      *
213 213
      * @return bool
214 214
      */
215
-    final public function isReadable (): bool {
215
+    final public function isReadable(): bool {
216 216
         return $this->isReady(self::CH_READ);
217 217
     }
218 218
 
@@ -226,15 +226,15 @@  discard block
 block discarded – undo
226 226
      * @return bool
227 227
      * @throws SocketError
228 228
      */
229
-    public function isReady (int $channel, ?float $timeout = 0): bool {
229
+    public function isReady(int $channel, ?float $timeout = 0): bool {
230 230
         $rwe = [$channel => [$this->resource]];
231 231
         // core casts non-null timeout to int.
232 232
         // usec is ignored if timeout is null.
233
-        $usec = (int)(fmod($timeout, 1) * 1000000);
233
+        $usec = (int) (fmod($timeout, 1) * 1000000);
234 234
         if (false === $count = @socket_select($rwe[0], $rwe[1], $rwe[2], $timeout, $usec)) {
235 235
             throw new SocketError($this->resource);
236 236
         }
237
-        return (bool)$count;
237
+        return (bool) $count;
238 238
     }
239 239
 
240 240
     /**
@@ -244,7 +244,7 @@  discard block
 block discarded – undo
244 244
      *
245 245
      * @return bool
246 246
      */
247
-    final public function isWritable (): bool {
247
+    final public function isWritable(): bool {
248 248
         return $this->isReady(self::CH_WRITE);
249 249
     }
250 250
 
@@ -266,7 +266,7 @@  discard block
 block discarded – undo
266 266
      * @return $this
267 267
      * @throws SocketError
268 268
      */
269
-    public function setBlocking (bool $blocking) {
269
+    public function setBlocking(bool $blocking) {
270 270
         if ($blocking ? @socket_set_block($this->resource) : @socket_set_nonblock($this->resource)) {
271 271
             return $this;
272 272
         }
@@ -283,7 +283,7 @@  discard block
 block discarded – undo
283 283
      * @return $this
284 284
      * @throws SocketError
285 285
      */
286
-    public function setOption (int $option, $value) {
286
+    public function setOption(int $option, $value) {
287 287
         if (!@socket_set_option($this->resource, SOL_SOCKET, $option, $value)) {
288 288
             throw new SocketError($this->resource, SOCKET_EINVAL);
289 289
         }
@@ -296,10 +296,10 @@  discard block
 block discarded – undo
296 296
      * @param float $timeout Zero means "no timeout" (block forever).
297 297
      * @return $this
298 298
      */
299
-    public function setTimeout (float $timeout) {
299
+    public function setTimeout(float $timeout) {
300 300
         $tv = [
301
-            'sec' => (int)$timeout,
302
-            'usec' => (int)(fmod($timeout, 1) * 1000000)
301
+            'sec' => (int) $timeout,
302
+            'usec' => (int) (fmod($timeout, 1) * 1000000)
303 303
         ];
304 304
         $this->setOption(SO_RCVTIMEO, $tv);
305 305
         $this->setOption(SO_SNDTIMEO, $tv);
@@ -329,7 +329,7 @@  discard block
 block discarded – undo
329 329
      * @return $this
330 330
      * @throws SocketError
331 331
      */
332
-    public function shutdown (int $channel) {
332
+    public function shutdown(int $channel) {
333 333
         if (!@socket_shutdown($this->resource, $channel)) {
334 334
             throw new SocketError($this->resource); // reliable errno
335 335
         }
Please login to merge, or discard this patch.
src/WebSocket/FrameHandler.php 2 patches
Spacing   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -53,21 +53,21 @@  discard block
 block discarded – undo
53 53
      */
54 54
     protected $text = '';
55 55
 
56
-    public function __construct (WebSocketClient $client) {
56
+    public function __construct(WebSocketClient $client) {
57 57
         $this->client = $client;
58 58
     }
59 59
 
60 60
     /**
61 61
      * @return int
62 62
      */
63
-    public function getFragmentSize (): int {
63
+    public function getFragmentSize(): int {
64 64
         return $this->fragmentSize;
65 65
     }
66 66
 
67 67
     /**
68 68
      * @return int
69 69
      */
70
-    public function getMaxLength (): int {
70
+    public function getMaxLength(): int {
71 71
         return $this->maxLength;
72 72
     }
73 73
 
@@ -79,7 +79,7 @@  discard block
 block discarded – undo
79 79
      * @param Frame $binary
80 80
      * @throws WebSocketError
81 81
      */
82
-    protected function onBinary (Frame $binary): void {
82
+    protected function onBinary(Frame $binary): void {
83 83
         $this->binary .= $binary->getPayload();
84 84
         if ($binary->isFinal()) {
85 85
             $message = $this->binary;
@@ -99,7 +99,7 @@  discard block
 block discarded – undo
99 99
      *
100 100
      * @param Frame $close
101 101
      */
102
-    protected function onClose (Frame $close): void {
102
+    protected function onClose(Frame $close): void {
103 103
         $this->client->close($close->getCloseCode());
104 104
     }
105 105
 
@@ -109,7 +109,7 @@  discard block
 block discarded – undo
109 109
      * @param Frame $frame
110 110
      * @throws WebSocketError
111 111
      */
112
-    protected function onContinue (Frame $frame): void {
112
+    protected function onContinue(Frame $frame): void {
113 113
         switch ($this->continue) {
114 114
             case Frame::OP_TEXT:
115 115
                 $this->onText($frame);
@@ -135,7 +135,7 @@  discard block
 block discarded – undo
135 135
      *
136 136
      * @param Frame $control
137 137
      */
138
-    protected function onControl (Frame $control): void {
138
+    protected function onControl(Frame $control): void {
139 139
         if ($control->isClose()) {
140 140
             $this->onClose($control);
141 141
         }
@@ -152,7 +152,7 @@  discard block
 block discarded – undo
152 152
      *
153 153
      * @param Frame $data
154 154
      */
155
-    protected function onData (Frame $data): void {
155
+    protected function onData(Frame $data): void {
156 156
         if (!$data->isFinal()) {
157 157
             $this->onData_SetContinue($data);
158 158
         }
@@ -164,7 +164,7 @@  discard block
 block discarded – undo
164 164
         }
165 165
     }
166 166
 
167
-    protected function onData_SetContinue (Frame $data): void {
167
+    protected function onData_SetContinue(Frame $data): void {
168 168
         if ($this->continue) {
169 169
             $existing = Frame::NAMES[$this->continue];
170 170
             throw new WebSocketError(
@@ -183,7 +183,7 @@  discard block
 block discarded – undo
183 183
      *
184 184
      * @param Frame $frame
185 185
      */
186
-    public function onFrame (Frame $frame): void {
186
+    public function onFrame(Frame $frame): void {
187 187
         $this->onFrame_CheckRsv($frame);
188 188
         $this->onFrame_CheckLength($frame);
189 189
         if ($frame->isControl()) {
@@ -200,7 +200,7 @@  discard block
 block discarded – undo
200 200
     /**
201 201
      * @param Frame $frame
202 202
      */
203
-    protected function onFrame_CheckLength (Frame $frame): void {
203
+    protected function onFrame_CheckLength(Frame $frame): void {
204 204
         if ($frame->isData()) {
205 205
             if ($frame->isBinary()) {
206 206
                 $length = strlen($this->binary);
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
      * @param Frame $frame
225 225
      * @throws WebSocketError
226 226
      */
227
-    protected function onFrame_CheckRsv (Frame $frame): void {
227
+    protected function onFrame_CheckRsv(Frame $frame): void {
228 228
         if ($badRsv = $frame->getRsv() & ~$this->client->getHandshake()->getRsv()) {
229 229
             $badRsv = str_pad(base_convert($badRsv >> 4, 10, 2), 3, '0', STR_PAD_LEFT);
230 230
             throw new WebSocketError(Frame::CLOSE_PROTOCOL_ERROR, "Received unknown RSV bits: 0b{$badRsv}");
@@ -238,7 +238,7 @@  discard block
 block discarded – undo
238 238
      *
239 239
      * @param Frame $ping
240 240
      */
241
-    protected function onPing (Frame $ping): void {
241
+    protected function onPing(Frame $ping): void {
242 242
         $this->writePong($ping->getPayload());
243 243
     }
244 244
 
@@ -249,7 +249,7 @@  discard block
 block discarded – undo
249 249
      *
250 250
      * @param Frame $pong
251 251
      */
252
-    protected function onPong (Frame $pong): void {
252
+    protected function onPong(Frame $pong): void {
253 253
         // stub
254 254
     }
255 255
 
@@ -261,7 +261,7 @@  discard block
 block discarded – undo
261 261
      * @param Frame $text
262 262
      * @throws WebSocketError
263 263
      */
264
-    protected function onText (Frame $text): void {
264
+    protected function onText(Frame $text): void {
265 265
         $this->text .= $text->getPayload();
266 266
         if ($text->isFinal()) {
267 267
             $message = $this->text;
@@ -274,7 +274,7 @@  discard block
 block discarded – undo
274 274
      * @param int $bytes
275 275
      * @return $this
276 276
      */
277
-    public function setFragmentSize (int $bytes) {
277
+    public function setFragmentSize(int $bytes) {
278 278
         $this->fragmentSize = $bytes;
279 279
         return $this;
280 280
     }
@@ -283,7 +283,7 @@  discard block
 block discarded – undo
283 283
      * @param int $bytes
284 284
      * @return $this
285 285
      */
286
-    public function setMaxLength (int $bytes) {
286
+    public function setMaxLength(int $bytes) {
287 287
         $this->maxLength = $bytes;
288 288
         return $this;
289 289
     }
@@ -294,7 +294,7 @@  discard block
 block discarded – undo
294 294
      * @param int $opCode
295 295
      * @param string $payload
296 296
      */
297
-    public function write (int $opCode, string $payload): void {
297
+    public function write(int $opCode, string $payload): void {
298 298
         $offset = 0;
299 299
         $total = strlen($payload);
300 300
         do {
@@ -310,7 +310,7 @@  discard block
 block discarded – undo
310 310
     /**
311 311
      * @param string $payload
312 312
      */
313
-    public function writeBinary (string $payload): void {
313
+    public function writeBinary(string $payload): void {
314 314
         $this->write(Frame::OP_BINARY, $payload);
315 315
     }
316 316
 
@@ -318,8 +318,8 @@  discard block
 block discarded – undo
318 318
      * @param int $code
319 319
      * @param string $reason
320 320
      */
321
-    public function writeClose (int $code = Frame::CLOSE_NORMAL, string $reason = ''): void {
322
-        $this->writeFrame(true, Frame::OP_CLOSE, pack('n', $code) . $reason);
321
+    public function writeClose(int $code = Frame::CLOSE_NORMAL, string $reason = ''): void {
322
+        $this->writeFrame(true, Frame::OP_CLOSE, pack('n', $code).$reason);
323 323
     }
324 324
 
325 325
     /**
@@ -329,7 +329,7 @@  discard block
 block discarded – undo
329 329
      * @param int $opCode
330 330
      * @param string $payload
331 331
      */
332
-    protected function writeFrame (bool $final, int $opCode, string $payload): void {
332
+    protected function writeFrame(bool $final, int $opCode, string $payload): void {
333 333
         if ($opCode & 0x08 and !$final) {
334 334
             throw new WebSocketError(
335 335
                 Frame::CLOSE_INTERNAL_ERROR,
@@ -349,27 +349,27 @@  discard block
 block discarded – undo
349 349
         else {
350 350
             $head .= chr($length);
351 351
         }
352
-        $this->client->write($head . $payload);
352
+        $this->client->write($head.$payload);
353 353
     }
354 354
 
355 355
     /**
356 356
      * @param string $payload
357 357
      */
358
-    public function writePing (string $payload = ''): void {
358
+    public function writePing(string $payload = ''): void {
359 359
         $this->writeFrame(true, Frame::OP_PING, $payload);
360 360
     }
361 361
 
362 362
     /**
363 363
      * @param string $payload
364 364
      */
365
-    public function writePong (string $payload = ''): void {
365
+    public function writePong(string $payload = ''): void {
366 366
         $this->writeFrame(true, Frame::OP_PONG, $payload);
367 367
     }
368 368
 
369 369
     /**
370 370
      * @param string $payload
371 371
      */
372
-    public function writeText (string $payload): void {
372
+    public function writeText(string $payload): void {
373 373
         $this->write(Frame::OP_TEXT, $payload);
374 374
     }
375 375
 }
376 376
\ No newline at end of file
Please login to merge, or discard this patch.
Braces   +8 added lines, -16 removed lines patch added patch discarded remove patch
@@ -138,11 +138,9 @@  discard block
 block discarded – undo
138 138
     protected function onControl (Frame $control): void {
139 139
         if ($control->isClose()) {
140 140
             $this->onClose($control);
141
-        }
142
-        elseif ($control->isPing()) {
141
+        } elseif ($control->isPing()) {
143 142
             $this->onPing($control);
144
-        }
145
-        elseif ($control->isPong()) {
143
+        } elseif ($control->isPong()) {
146 144
             $this->onPong($control);
147 145
         }
148 146
     }
@@ -158,8 +156,7 @@  discard block
 block discarded – undo
158 156
         }
159 157
         if ($data->isText()) {
160 158
             $this->onText($data);
161
-        }
162
-        elseif ($data->isBinary()) {
159
+        } elseif ($data->isBinary()) {
163 160
             $this->onBinary($data);
164 161
         }
165 162
     }
@@ -188,11 +185,9 @@  discard block
 block discarded – undo
188 185
         $this->onFrame_CheckLength($frame);
189 186
         if ($frame->isControl()) {
190 187
             $this->onControl($frame);
191
-        }
192
-        elseif ($frame->isContinue()) {
188
+        } elseif ($frame->isContinue()) {
193 189
             $this->onContinue($frame);
194
-        }
195
-        else {
190
+        } else {
196 191
             $this->onData($frame);
197 192
         }
198 193
     }
@@ -204,8 +199,7 @@  discard block
 block discarded – undo
204 199
         if ($frame->isData()) {
205 200
             if ($frame->isBinary()) {
206 201
                 $length = strlen($this->binary);
207
-            }
208
-            else {
202
+            } else {
209 203
                 $length = strlen($this->text);
210 204
             }
211 205
             if ($length + $frame->getLength() > $this->maxLength) {
@@ -341,12 +335,10 @@  discard block
 block discarded – undo
341 335
         if ($length > 65535) {
342 336
             $head .= chr(127);
343 337
             $head .= pack('J', $length);
344
-        }
345
-        elseif ($length >= 126) {
338
+        } elseif ($length >= 126) {
346 339
             $head .= chr(126);
347 340
             $head .= pack('n', $length);
348
-        }
349
-        else {
341
+        } else {
350 342
             $head .= chr($length);
351 343
         }
352 344
         $this->client->write($head . $payload);
Please login to merge, or discard this patch.
src/WebSocket/WebSocketClient.php 2 patches
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
      * @param $resource
52 52
      * @param WebSocketServer $server
53 53
      */
54
-    public function __construct ($resource, WebSocketServer $server) {
54
+    public function __construct($resource, WebSocketServer $server) {
55 55
         parent::__construct($resource);
56 56
         $this->server = $server;
57 57
     }
@@ -74,7 +74,7 @@  discard block
 block discarded – undo
74 74
      * @param string $reason
75 75
      * @return StreamClient|void
76 76
      */
77
-    public function close (int $code = null, string $reason = '') {
77
+    public function close(int $code = null, string $reason = '') {
78 78
         try {
79 79
             if ($code >= 1000 and $this->state === self::STATE_OK) {
80 80
                 $this->getFrameHandler()->writeClose($code, $reason);
@@ -91,49 +91,49 @@  discard block
 block discarded – undo
91 91
     /**
92 92
      * @return FrameHandler
93 93
      */
94
-    public function getFrameHandler () {
94
+    public function getFrameHandler() {
95 95
         return $this->frameHandler ?? $this->frameHandler = new FrameHandler($this);
96 96
     }
97 97
 
98 98
     /**
99 99
      * @return FrameReader
100 100
      */
101
-    public function getFrameReader () {
101
+    public function getFrameReader() {
102 102
         return $this->frameReader ?? $this->frameReader = new FrameReader($this);
103 103
     }
104 104
 
105 105
     /**
106 106
      * @return HandShake
107 107
      */
108
-    public function getHandshake () {
108
+    public function getHandshake() {
109 109
         return $this->handshake ?? $this->handshake = new HandShake($this);
110 110
     }
111 111
 
112 112
     /**
113 113
      * @return MessageHandler
114 114
      */
115
-    public function getMessageHandler () {
115
+    public function getMessageHandler() {
116 116
         return $this->messageHandler ?? $this->messageHandler = new MessageHandler($this);
117 117
     }
118 118
 
119 119
     /**
120 120
      * @return WebSocketServer
121 121
      */
122
-    public function getServer () {
122
+    public function getServer() {
123 123
         return $this->server;
124 124
     }
125 125
 
126 126
     /**
127 127
      * @return int
128 128
      */
129
-    public function getState (): int {
129
+    public function getState(): int {
130 130
         return $this->state;
131 131
     }
132 132
 
133 133
     /**
134 134
      * @return bool
135 135
      */
136
-    final public function isOk (): bool {
136
+    final public function isOk(): bool {
137 137
         return $this->state === self::STATE_OK;
138 138
     }
139 139
 
@@ -142,7 +142,7 @@  discard block
 block discarded – undo
142 142
      *
143 143
      * The RFC says the connection must be dropped if any unsupported activity occurs.
144 144
      */
145
-    final public function onOutOfBand (): void {
145
+    final public function onOutOfBand(): void {
146 146
         $this->close(Frame::CLOSE_PROTOCOL_ERROR, "Received out-of-band data.");
147 147
     }
148 148
 
@@ -151,7 +151,7 @@  discard block
 block discarded – undo
151 151
      *
152 152
      * @throws Exception
153 153
      */
154
-    public function onReadable (): void {
154
+    public function onReadable(): void {
155 155
         if (!strlen($this->recv(1, MSG_PEEK))) { // peer has shut down writing, or closed.
156 156
             $this->close();
157 157
             return;
@@ -187,7 +187,7 @@  discard block
 block discarded – undo
187 187
     /**
188 188
      * Stub.
189 189
      */
190
-    protected function onStateOk (): void {
190
+    protected function onStateOk(): void {
191 191
 
192 192
     }
193 193
 
@@ -195,7 +195,7 @@  discard block
 block discarded – undo
195 195
      * @param FrameHandler $frameHandler
196 196
      * @return $this
197 197
      */
198
-    public function setFrameHandler (FrameHandler $frameHandler) {
198
+    public function setFrameHandler(FrameHandler $frameHandler) {
199 199
         $this->frameHandler = $frameHandler;
200 200
         return $this;
201 201
     }
@@ -204,7 +204,7 @@  discard block
 block discarded – undo
204 204
      * @param FrameReader $frameReader
205 205
      * @return $this
206 206
      */
207
-    public function setFrameReader (FrameReader $frameReader) {
207
+    public function setFrameReader(FrameReader $frameReader) {
208 208
         $this->frameReader = $frameReader;
209 209
         return $this;
210 210
     }
@@ -213,7 +213,7 @@  discard block
 block discarded – undo
213 213
      * @param MessageHandler $messageHandler
214 214
      * @return $this
215 215
      */
216
-    public function setMessageHandler (MessageHandler $messageHandler) {
216
+    public function setMessageHandler(MessageHandler $messageHandler) {
217 217
         $this->messageHandler = $messageHandler;
218 218
         return $this;
219 219
     }
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -80,8 +80,7 @@  discard block
 block discarded – undo
80 80
                 $this->getFrameHandler()->writeClose($code, $reason);
81 81
                 $this->shutdown(self::CH_WRITE);
82 82
             }
83
-        }
84
-        finally {
83
+        } finally {
85 84
             $this->state = self::STATE_CLOSE;
86 85
             $this->server->remove($this);
87 86
             parent::close();
@@ -173,12 +172,10 @@  discard block
 block discarded – undo
173 172
                 case self::STATE_CLOSE:
174 173
                     return;
175 174
             }
176
-        }
177
-        catch (WebSocketError $e) {
175
+        } catch (WebSocketError $e) {
178 176
             $this->close($e->getCode(), $e->getMessage());
179 177
             throw $e;
180
-        }
181
-        catch (Exception $e) {
178
+        } catch (Exception $e) {
182 179
             $this->close(Frame::CLOSE_INTERNAL_ERROR);
183 180
             throw $e;
184 181
         }
Please login to merge, or discard this patch.
src/WebSocket/MessageHandler.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -12,14 +12,14 @@  discard block
 block discarded – undo
12 12
     /**
13 13
      * @param WebSocketClient $client
14 14
      */
15
-    public function __construct (WebSocketClient $client) {
15
+    public function __construct(WebSocketClient $client) {
16 16
         $this->client = $client;
17 17
     }
18 18
 
19 19
     /**
20 20
      * @param string $binary
21 21
      */
22
-    public function onBinary (string $binary): void {
22
+    public function onBinary(string $binary): void {
23 23
         unset($binary);
24 24
         throw new WebSocketError(Frame::CLOSE_UNHANDLED_DATA, "I don't handle binary data.");
25 25
     }
@@ -27,7 +27,7 @@  discard block
 block discarded – undo
27 27
     /**
28 28
      * @param string $text
29 29
      */
30
-    public function onText (string $text): void {
30
+    public function onText(string $text): void {
31 31
         $this->onText_CheckUtf8($text);
32 32
         throw new WebSocketError(Frame::CLOSE_UNHANDLED_DATA, "I don't handle text.");
33 33
     }
@@ -37,7 +37,7 @@  discard block
 block discarded – undo
37 37
      *
38 38
      * @param string $text
39 39
      */
40
-    protected function onText_CheckUtf8 (string $text): void {
40
+    protected function onText_CheckUtf8(string $text): void {
41 41
         if (!mb_detect_encoding($text, 'UTF-8', true)) {
42 42
             throw new WebSocketError(Frame::CLOSE_BAD_DATA, "Received TEXT is not UTF-8.");
43 43
         }
Please login to merge, or discard this patch.
src/WebSocket/FrameReader.php 3 patches
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -46,14 +46,14 @@  discard block
 block discarded – undo
46 46
      */
47 47
     protected $maxLength = 10 * 1024 * 1024;
48 48
 
49
-    public function __construct (WebSocketClient $client) {
49
+    public function __construct(WebSocketClient $client) {
50 50
         $this->client = $client;
51 51
     }
52 52
 
53 53
     /**
54 54
      * @return Frame|null
55 55
      */
56
-    protected function getFrame () {
56
+    protected function getFrame() {
57 57
         if (!$this->head) {
58 58
             if (preg_match(self::REGEXP, $this->buffer, $head)) {
59 59
                 [, $op, $len] = unpack('C2', $head[0]);
@@ -95,7 +95,7 @@  discard block
 block discarded – undo
95 95
      *
96 96
      * @return Generator|Frame[]
97 97
      */
98
-    public function getFrames () {
98
+    public function getFrames() {
99 99
         $this->buffer .= $this->client->recvAll();
100 100
         while ($frame = $this->getFrame()) {
101 101
             yield $frame;
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
     /**
106 106
      * @return int
107 107
      */
108
-    public function getMaxLength (): int {
108
+    public function getMaxLength(): int {
109 109
         return $this->maxLength;
110 110
     }
111 111
 
@@ -113,7 +113,7 @@  discard block
 block discarded – undo
113 113
      * @param int $bytes
114 114
      * @return $this
115 115
      */
116
-    public function setMaxLength (int $bytes) {
116
+    public function setMaxLength(int $bytes) {
117 117
         if ($bytes < self::MAX_LENGTH_RANGE[0] or $bytes > self::MAX_LENGTH_RANGE[1]) {
118 118
             throw new InvalidArgumentException('Max length must be within range [125,2^63-1]');
119 119
         }
@@ -126,7 +126,7 @@  discard block
 block discarded – undo
126 126
      *
127 127
      * @throws WebSocketError
128 128
      */
129
-    protected function validate (): void {
129
+    protected function validate(): void {
130 130
         if ($this->head['length'] > $this->maxLength) {
131 131
             throw new WebSocketError(Frame::CLOSE_TOO_LARGE, "Payload would exceed {$this->maxLength} bytes");
132 132
         }
Please login to merge, or discard this patch.
Braces   +3 added lines, -6 removed lines patch added patch discarded remove patch
@@ -67,11 +67,9 @@  discard block
 block discarded – undo
67 67
                 ];
68 68
                 $this->buffer = substr($this->buffer, strlen($head[0]));
69 69
                 $this->validate();
70
-            }
71
-            elseif (strlen($this->buffer) >= 14) { // max head room
70
+            } elseif (strlen($this->buffer) >= 14) { // max head room
72 71
                 throw new WebSocketError(Frame::CLOSE_PROTOCOL_ERROR, 'Bad frame.');
73
-            }
74
-            else {
72
+            } else {
75 73
                 return null;
76 74
             }
77 75
         }
@@ -139,8 +137,7 @@  discard block
 block discarded – undo
139 137
             if (!$this->head['final']) {
140 138
                 throw new WebSocketError(Frame::CLOSE_PROTOCOL_ERROR, "Received fragmented {$name}");
141 139
             }
142
-        }
143
-        elseif ($opCode > Frame::OP_BINARY) { // data
140
+        } elseif ($opCode > Frame::OP_BINARY) { // data
144 141
             throw new WebSocketError(Frame::CLOSE_PROTOCOL_ERROR, "Received {$name}");
145 142
         }
146 143
     }
Please login to merge, or discard this patch.
Doc Comments   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -93,7 +93,7 @@
 block discarded – undo
93 93
     /**
94 94
      * Constructs and yields all available frames from the peer.
95 95
      *
96
-     * @return Generator|Frame[]
96
+     * @return Generator
97 97
      */
98 98
     public function getFrames () {
99 99
         $this->buffer .= $this->client->recvAll();
Please login to merge, or discard this patch.
src/AbstractServer.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@  discard block
 block discarded – undo
18 18
      *
19 19
      * @return string
20 20
      */
21
-    public function __toString () {
21
+    public function __toString() {
22 22
         try {
23 23
             return implode(':', $this->getSockName());
24 24
         }
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
      * @return $this
41 41
      * @throws SocketError
42 42
      */
43
-    public function bind (string $address, int $port = 0) {
43
+    public function bind(string $address, int $port = 0) {
44 44
         if (!@socket_bind($this->resource, $address, $port)) {
45 45
             throw new SocketError($this->resource, SOCKET_EOPNOTSUPP);
46 46
         }
Please login to merge, or discard this patch.
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -21,8 +21,7 @@
 block discarded – undo
21 21
     public function __toString () {
22 22
         try {
23 23
             return implode(':', $this->getSockName());
24
-        }
25
-        catch (Throwable $e) {
24
+        } catch (Throwable $e) {
26 25
             return "?{$this->resource}";
27 26
         }
28 27
     }
Please login to merge, or discard this patch.
src/StreamServer.php 1 patch
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -12,7 +12,7 @@  discard block
 block discarded – undo
12 12
      *
13 13
      * @return int
14 14
      */
15
-    final public static function getType (): int {
15
+    final public static function getType(): int {
16 16
         return SOCK_STREAM;
17 17
     }
18 18
 
@@ -25,7 +25,7 @@  discard block
 block discarded – undo
25 25
      * @return StreamClient
26 26
      * @throws SocketError
27 27
      */
28
-    public function accept () {
28
+    public function accept() {
29 29
         if (!$resource = @socket_accept($this->resource)) {
30 30
             throw new SocketError($this->resource); // reliable errno
31 31
         }
@@ -45,7 +45,7 @@  discard block
 block discarded – undo
45 45
      * @return $this
46 46
      * @throws SocketError
47 47
      */
48
-    public function listen (int $backlog = 0) {
48
+    public function listen(int $backlog = 0) {
49 49
         if (!@socket_listen($this->resource, $backlog)) {
50 50
             throw new SocketError($this->resource); // reliable errno
51 51
         }
@@ -58,7 +58,7 @@  discard block
 block discarded – undo
58 58
      * @param resource $resource The accepted connection.
59 59
      * @return StreamClient
60 60
      */
61
-    protected function newClient ($resource) {
61
+    protected function newClient($resource) {
62 62
         return new StreamClient($resource);
63 63
     }
64 64
 
Please login to merge, or discard this patch.
src/DatagramServer.php 1 patch
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -12,7 +12,7 @@  discard block
 block discarded – undo
12 12
      *
13 13
      * @return int
14 14
      */
15
-    final public static function getType (): int {
15
+    final public static function getType(): int {
16 16
         return SOCK_DGRAM;
17 17
     }
18 18
 
@@ -28,12 +28,12 @@  discard block
 block discarded – undo
28 28
      * @return string
29 29
      * @throws SocketError
30 30
      */
31
-    public function recv (int $length, int $flags = 0, string &$name = null, int &$port = 0): string {
31
+    public function recv(int $length, int $flags = 0, string &$name = null, int &$port = 0): string {
32 32
         $count = @socket_recvfrom($this->resource, $data, $length, $flags, $name, $port);
33 33
         if ($count === false) {
34 34
             throw new SocketError($this->resource, SOCKET_EOPNOTSUPP);
35 35
         }
36
-        return (string)$data; // cast needed, will be null if 0 bytes are read
36
+        return (string) $data; // cast needed, will be null if 0 bytes are read
37 37
     }
38 38
 
39 39
 }
40 40
\ No newline at end of file
Please login to merge, or discard this patch.
src/WebSocket/Frame.php 1 patch
Spacing   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -41,15 +41,15 @@  discard block
 block discarded – undo
41 41
         0x0f => 'RESERVED CONTROL 0x0f',
42 42
     ];
43 43
 
44
-    const CLOSE_NORMAL = 1000;              // mutual closure
45
-    const CLOSE_INTERRUPT = 1001;           // abrupt closure due to hangups, reboots, "going away"
46
-    const CLOSE_PROTOCOL_ERROR = 1002;      // invalid behavior / framing
47
-    const CLOSE_UNHANDLED_DATA = 1003;      // message handler doesn't want the payload
48
-    const CLOSE_BAD_DATA = 1007;            // message handler can't understand the payload
49
-    const CLOSE_POLICY_VIOLATION = 1008;    // generic "access denied"
50
-    const CLOSE_TOO_LARGE = 1009;           // unacceptable payload size
51
-    const CLOSE_EXPECTATION = 1010;         // peer closed because it wants extensions (listed in the reason)
52
-    const CLOSE_INTERNAL_ERROR = 1011;      // like http 500
44
+    const CLOSE_NORMAL = 1000; // mutual closure
45
+    const CLOSE_INTERRUPT = 1001; // abrupt closure due to hangups, reboots, "going away"
46
+    const CLOSE_PROTOCOL_ERROR = 1002; // invalid behavior / framing
47
+    const CLOSE_UNHANDLED_DATA = 1003; // message handler doesn't want the payload
48
+    const CLOSE_BAD_DATA = 1007; // message handler can't understand the payload
49
+    const CLOSE_POLICY_VIOLATION = 1008; // generic "access denied"
50
+    const CLOSE_TOO_LARGE = 1009; // unacceptable payload size
51
+    const CLOSE_EXPECTATION = 1010; // peer closed because it wants extensions (listed in the reason)
52
+    const CLOSE_INTERNAL_ERROR = 1011; // like http 500
53 53
 
54 54
     /**
55 55
      * @var bool
@@ -79,7 +79,7 @@  discard block
 block discarded – undo
79 79
      * @param int $opCode
80 80
      * @param string $payload
81 81
      */
82
-    public function __construct (bool $final, int $rsv, int $opCode, string $payload) {
82
+    public function __construct(bool $final, int $rsv, int $opCode, string $payload) {
83 83
         $this->final = $final;
84 84
         $this->rsv = $rsv;
85 85
         $this->opCode = $opCode;
@@ -91,7 +91,7 @@  discard block
 block discarded – undo
91 91
      *
92 92
      * @return string
93 93
      */
94
-    public function __toString () {
94
+    public function __toString() {
95 95
         if ($this->isClose()) {
96 96
             return $this->getCloseReason();
97 97
         }
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
      *
106 106
      * @return int
107 107
      */
108
-    final public function getCloseCode (): int {
108
+    final public function getCloseCode(): int {
109 109
         $code = substr($this->payload, 0, 2);
110 110
         return isset($code[1]) ? unpack('n', $code)[1] : self::CLOSE_NORMAL;
111 111
     }
@@ -117,126 +117,126 @@  discard block
 block discarded – undo
117 117
      *
118 118
      * @return string
119 119
      */
120
-    final public function getCloseReason (): string {
120
+    final public function getCloseReason(): string {
121 121
         return substr($this->payload, 2);
122 122
     }
123 123
 
124 124
     /**
125 125
      * @return int
126 126
      */
127
-    final public function getLength (): int {
127
+    final public function getLength(): int {
128 128
         return strlen($this->payload);
129 129
     }
130 130
 
131 131
     /**
132 132
      * @return string
133 133
      */
134
-    public function getName (): string {
134
+    public function getName(): string {
135 135
         return self::NAMES[$this->opCode];
136 136
     }
137 137
 
138 138
     /**
139 139
      * @return int
140 140
      */
141
-    final public function getOpCode (): int {
141
+    final public function getOpCode(): int {
142 142
         return $this->opCode;
143 143
     }
144 144
 
145 145
     /**
146 146
      * @return string
147 147
      */
148
-    final public function getPayload (): string {
148
+    final public function getPayload(): string {
149 149
         return $this->payload;
150 150
     }
151 151
 
152 152
     /**
153 153
      * @return int
154 154
      */
155
-    final public function getRsv (): int {
155
+    final public function getRsv(): int {
156 156
         return $this->rsv;
157 157
     }
158 158
 
159 159
     /**
160 160
      * @return bool
161 161
      */
162
-    final public function hasRsv1 (): bool {
163
-        return (bool)($this->rsv & self::RSV1);
162
+    final public function hasRsv1(): bool {
163
+        return (bool) ($this->rsv & self::RSV1);
164 164
     }
165 165
 
166 166
     /**
167 167
      * @return bool
168 168
      */
169
-    final public function hasRsv2 (): bool {
170
-        return (bool)($this->rsv & self::RSV2);
169
+    final public function hasRsv2(): bool {
170
+        return (bool) ($this->rsv & self::RSV2);
171 171
     }
172 172
 
173 173
     /**
174 174
      * @return bool
175 175
      */
176
-    final public function hasRsv3 (): bool {
177
-        return (bool)($this->rsv & self::RSV3);
176
+    final public function hasRsv3(): bool {
177
+        return (bool) ($this->rsv & self::RSV3);
178 178
     }
179 179
 
180 180
     /**
181 181
      * @return bool
182 182
      */
183
-    final public function isBinary (): bool {
183
+    final public function isBinary(): bool {
184 184
         return $this->opCode === self::OP_BINARY;
185 185
     }
186 186
 
187 187
     /**
188 188
      * @return bool
189 189
      */
190
-    final public function isClose (): bool {
190
+    final public function isClose(): bool {
191 191
         return $this->opCode === self::OP_CLOSE;
192 192
     }
193 193
 
194 194
     /**
195 195
      * @return bool
196 196
      */
197
-    final public function isContinue (): bool {
197
+    final public function isContinue(): bool {
198 198
         return $this->opCode === self::OP_CONTINUE;
199 199
     }
200 200
 
201 201
     /**
202 202
      * @return bool
203 203
      */
204
-    final public function isControl (): bool {
204
+    final public function isControl(): bool {
205 205
         return $this->opCode >= self::OP_CLOSE;
206 206
     }
207 207
 
208 208
     /**
209 209
      * @return bool
210 210
      */
211
-    final public function isData (): bool {
211
+    final public function isData(): bool {
212 212
         return $this->opCode < self::OP_CLOSE;
213 213
     }
214 214
 
215 215
     /**
216 216
      * @return bool
217 217
      */
218
-    final public function isFinal (): bool {
218
+    final public function isFinal(): bool {
219 219
         return $this->final;
220 220
     }
221 221
 
222 222
     /**
223 223
      * @return bool
224 224
      */
225
-    final public function isPing (): bool {
225
+    final public function isPing(): bool {
226 226
         return $this->opCode === self::OP_PING;
227 227
     }
228 228
 
229 229
     /**
230 230
      * @return bool
231 231
      */
232
-    final public function isPong (): bool {
232
+    final public function isPong(): bool {
233 233
         return $this->opCode === self::OP_PONG;
234 234
     }
235 235
 
236 236
     /**
237 237
      * @return bool
238 238
      */
239
-    final public function isText (): bool {
239
+    final public function isText(): bool {
240 240
         return $this->opCode === self::OP_TEXT;
241 241
     }
242 242
 
Please login to merge, or discard this patch.