Code Duplication    Length = 23-25 lines in 2 locations

PHPDaemon/BoundSocket/Generic.php 1 location

@@ 341-365 (lines=25) @@
338
     * Enable socket events
339
     * @return void
340
     */
341
    public function enable()
342
    {
343
        if ($this->enabled) {
344
            return;
345
        }
346
        if (!$this->fd) {
347
            return;
348
        }
349
        $this->enabled = true;
350
        if ($this->ev === null) {
351
            if ($this->eventLoop === null) {
352
                $this->eventLoop = EventLoop::$instance;
353
            }
354
            $this->ev = $this->eventLoop->listener(
355
                [$this, 'onAcceptEv'],
356
                null,
357
                \EventListener::OPT_CLOSE_ON_FREE | \EventListener::OPT_REUSEABLE,
358
                -1,
359
                $this->fd
360
            );
361
            $this->onBound();
362
        } else {
363
            $this->ev->enable();
364
        }
365
    }
366
367
    /**
368
     * @param \EventListener $listener

PHPDaemon/BoundSocket/UDP.php 1 location

@@ 158-180 (lines=23) @@
155
     * Enable socket events
156
     * @return void
157
     */
158
    public function enable()
159
    {
160
        if ($this->enabled) {
161
            return;
162
        }
163
        if (!$this->fd) {
164
            return;
165
        }
166
        $this->enabled = true;
167
168
        if ($this->ev === null) {
169
            if ($this->eventLoop === null) {
170
                // @TODO нужно перенести куда-то выше, не годиться тут инициировать
171
                $this->eventLoop = EventLoop::$instance;
172
            }
173
174
            $this->ev = $this->eventLoop->event($this->fd, \Event::READ | \Event::PERSIST, [$this, 'onReadUdp']);
175
            $this->onBound();
176
        } else {
177
            $this->onAcceptEv();
178
        }
179
        $this->ev->add();
180
    }
181
182
    /**
183
     * Called when we got UDP packet