# File lib/amq/protocol/client.rb, line 246
      def self.encode_body(body, channel, frame_size)
        return [] if body.empty?

        # See https://dev.rabbitmq.com/wiki/Amqp091Errata#section_11
        limit        = frame_size - 8
        limit_plus_1 = limit + 1

        array = Array.new
        while body
          payload, body = body[0, limit_plus_1], body[limit_plus_1, body.length - limit]
          # array << [0x03, payload]
          array << BodyFrame.new(payload, channel)
        end

        array
      end