Code Duplication    Length = 6-6 lines in 4 locations

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

@@ 87-92 (lines=6) @@
84
85
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
86
        }
87
        if ($frame instanceof Channel\ChannelFlowFrame) {
88
            $payload = "\x00\x14\x00\x14"
89
                . ($frame->active ? "\x01" : "\x00");
90
91
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
92
        }
93
        if ($frame instanceof Channel\ChannelFlowOkFrame) {
94
            $payload = "\x00\x14\x00\x15"
95
                . ($frame->active ? "\x01" : "\x00");
@@ 93-98 (lines=6) @@
90
91
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
92
        }
93
        if ($frame instanceof Channel\ChannelFlowOkFrame) {
94
            $payload = "\x00\x14\x00\x15"
95
                . ($frame->active ? "\x01" : "\x00");
96
97
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
98
        }
99
        if ($frame instanceof Channel\ChannelCloseFrame) {
100
            $payload = "\x00\x14\x00\x28"
101
                . \pack('n', $frame->replyCode)
@@ 371-376 (lines=6) @@
368
369
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
370
        }
371
        if ($frame instanceof Basic\BasicRecoverFrame) {
372
            $payload = "\x00\x3c\x00\x6e"
373
                . ($frame->requeue ? "\x01" : "\x00");
374
375
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
376
        }
377
        if ($frame instanceof Basic\BasicNackFrame) {
378
            $payload = "\x00\x3c\x00\x78"
379
                . \pack('J', $frame->deliveryTag)
@@ 396-401 (lines=6) @@
393
        if ($frame instanceof Tx\TxRollbackFrame) {
394
            return "\x01" . \pack('n', $frame->frameChannelId) . "\x00\x00\x00\x04\x00\x5a\x00\x1e\xce";
395
        }
396
        if ($frame instanceof Confirm\ConfirmSelectFrame) {
397
            $payload = "\x00\x55\x00\x0a"
398
                . ($frame->nowait ? "\x01" : "\x00");
399
400
            return "\x01" . \pack('nN', $frame->frameChannelId, \strlen($payload)) . $payload . "\xce";
401
        }
402
403
        throw new AMQPProtocolException(
404
            sprintf('Frame %s not implemented yet', get_class($frame)));