Code Duplication    Length = 15-16 lines in 3 locations

PHPDaemon/Clients/AMQP/Driver/Protocol/v091/Serializer/FrameSerializerTrait.php 3 locations

@@ 123-138 (lines=16) @@
120
121
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
122
        }
123
        if ($frame instanceof Exchange\ExchangeDeclareFrame) {
124
            $payload = "\x00\x28\x00\x0a"
125
                . \pack('n', $frame->reserved1)
126
                . $this->serializeShortString($frame->exchange)
127
                . $this->serializeShortString($frame->type)
128
                . \chr(
129
                    $frame->passive
130
                    | $frame->durable << 1
131
                    | $frame->autoDelete << 2
132
                    | $frame->internal << 3
133
                    | $frame->nowait << 4
134
                )
135
                . $this->tableSerializer->serialize($frame->arguments);
136
137
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
138
        }
139
        if ($frame instanceof Exchange\ExchangeDeleteFrame) {
140
            $payload = "\x00\x28\x00\x14"
141
                . \pack('n', $frame->reserved1)
@@ 172-186 (lines=15) @@
169
170
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
171
        }
172
        if ($frame instanceof Queue\QueueDeclareFrame) {
173
            $payload = "\x00\x32\x00\x0a"
174
                . \pack('n', $frame->reserved1)
175
                . $this->serializeShortString($frame->queue)
176
                . \chr(
177
                    $frame->passive
178
                    | $frame->durable << 1
179
                    | $frame->exclusive << 2
180
                    | $frame->autoDelete << 3
181
                    | $frame->nowait << 4
182
                )
183
                . $this->tableSerializer->serialize($frame->arguments);
184
185
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
186
        }
187
        if ($frame instanceof Queue\QueueBindFrame) {
188
            $payload = "\x00\x32\x00\x14"
189
                . \pack('n', $frame->reserved1)
@@ 315-329 (lines=15) @@
312
313
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
314
        }
315
        if ($frame instanceof Basic\BasicConsumeFrame) {
316
            $payload = "\x00\x3c\x00\x14"
317
                . \pack('n', $frame->reserved1)
318
                . $this->serializeShortString($frame->queue)
319
                . $this->serializeShortString($frame->consumerTag)
320
                . \chr(
321
                    $frame->noLocal
322
                    | $frame->noAck << 1
323
                    | $frame->exclusive << 2
324
                    | $frame->nowait << 3
325
                )
326
                . $this->tableSerializer->serialize($frame->arguments);
327
328
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
329
        }
330
        if ($frame instanceof Basic\BasicCancelFrame) {
331
            $payload = "\x00\x3c\x00\x1e"
332
                . $this->serializeShortString($frame->consumerTag)