Code Duplication    Length = 8-10 lines in 2 locations

src/Tidal/WampWatch/SessionMonitor.php 2 locations

@@ 122-129 (lines=8) @@
119
     */
120
    protected function startSubscriptions()
121
    {
122
        $this->session->subscribe(self::SESSION_JOIN_TOPIC, function ($res) {
123
            $sessionInfo = $res[0];
124
            $sessionId = $sessionInfo->session;
125
            if ((array_search($sessionId, $this->sessionIds)) === false) {
126
                $this->sessionIds[] = $sessionId;
127
                $this->emit('join', [$sessionInfo]);
128
            }
129
        });
130
        $this->session->subscribe(self::SESSION_LEAVE_TOPIC, function ($res) {
131
            // @bug : wamp.session.on_leave is bugged as of crossbar.io 0.11.0
132
            // will provide sessionID when Browser closes/reloads,
@@ 130-139 (lines=10) @@
127
                $this->emit('join', [$sessionInfo]);
128
            }
129
        });
130
        $this->session->subscribe(self::SESSION_LEAVE_TOPIC, function ($res) {
131
            // @bug : wamp.session.on_leave is bugged as of crossbar.io 0.11.0
132
            // will provide sessionID when Browser closes/reloads,
133
            // but not when calling connection.close();
134
            $sessionId = $res[0];
135
            if (($key = array_search($sessionId, $this->sessionIds)) !== false) {
136
                unset($this->sessionIds[$key]);
137
                $this->emit('leave', [$sessionId]);
138
            }
139
        });
140
    }
141
142
    /**