Code Duplication    Length = 16-16 lines in 3 locations

src/Client.php 3 locations

@@ 148-163 (lines=16) @@
145
     *
146
     * @return PromiseInterface
147
     */
148
    public function alive(AliveOptions $options)
149
    {
150
        $request = $this->getRequestFactory()->createAliveRequest($options);
151
        $data = trim(RequestSerializer::toString($request)) . "\r\n\r\n";
152
153
        $socket = $this->getSocketFactory()->createUdp4();
154
        $socket->setOption(SOL_SOCKET, SO_BROADCAST, 1);
155
        $socket->setOption(IPPROTO_IP, IP_MULTICAST_IF, 0);
156
        $socket->setOption(IPPROTO_IP, IP_MULTICAST_LOOP, 0);
157
        $socket->setOption(IPPROTO_IP, IP_MULTICAST_TTL, 4);
158
        $socket->setOption(IPPROTO_IP, MCAST_JOIN_GROUP, ['group' => self::MULTICAST_ADDRESS, 'interface' => 0]);
159
        $socket->bind('0.0.0.0');
160
        $socket->sendTo($data, 0, sprintf('%s:%s', self::MULTICAST_ADDRESS, self::MULTICAST_PORT));
161
162
        return $this;
163
    }
164
165
    /**
166
     * Send byebye request
@@ 172-187 (lines=16) @@
169
     *
170
     * @return PromiseInterface
171
     */
172
    public function byebye(ByebyeOptions $options)
173
    {
174
        $request = $this->getRequestFactory()->createByebyeRequest($options);
175
        $data = trim(RequestSerializer::toString($request)) . "\r\n\r\n";
176
177
        $socket = $this->getSocketFactory()->createUdp4();
178
        $socket->setOption(SOL_SOCKET, SO_BROADCAST, 1);
179
        $socket->setOption(IPPROTO_IP, IP_MULTICAST_IF, 0);
180
        $socket->setOption(IPPROTO_IP, IP_MULTICAST_LOOP, 0);
181
        $socket->setOption(IPPROTO_IP, IP_MULTICAST_TTL, 4);
182
        $socket->setOption(IPPROTO_IP, MCAST_JOIN_GROUP, ['group' => self::MULTICAST_ADDRESS, 'interface' => 0]);
183
        $socket->bind('0.0.0.0');
184
        $socket->sendTo($data, 0, sprintf('%s:%s', self::MULTICAST_ADDRESS, self::MULTICAST_PORT));
185
186
        return $this;
187
    }
188
189
    /**
190
     * Send discover request
@@ 253-268 (lines=16) @@
250
     *
251
     * @return PromiseInterface
252
     */
253
    public function update(UpdateOptions $options)
254
    {
255
        $request = $this->getRequestFactory()->createUpdateRequest($options);
256
        $data = trim(RequestSerializer::toString($request)) . "\r\n\r\n";
257
258
        $socket = $this->getSocketFactory()->createUdp4();
259
        $socket->setOption(SOL_SOCKET, SO_BROADCAST, 1);
260
        $socket->setOption(IPPROTO_IP, IP_MULTICAST_IF, 0);
261
        $socket->setOption(IPPROTO_IP, IP_MULTICAST_LOOP, 0);
262
        $socket->setOption(IPPROTO_IP, IP_MULTICAST_TTL, 4);
263
        $socket->setOption(IPPROTO_IP, MCAST_JOIN_GROUP, ['group' => self::MULTICAST_ADDRESS, 'interface' => 0]);
264
        $socket->bind('0.0.0.0');
265
        $socket->sendTo($data, 0, sprintf('%s:%s', self::MULTICAST_ADDRESS, self::MULTICAST_PORT));
266
267
        return $this;
268
    }
269
270
    /**
271
     * Create discover event