# File lib/codec/data.rb, line 101
      def encode
        buffer = "\0"*1024
        loop do
          cd = Cproton.pn_data_encode(@impl, buffer, buffer.length)
          if cd == Cproton::PN_OVERFLOW
            buffer *= 2
          elsif cd >= 0
            return buffer[0...cd]
          else
            check(cd)
          end
        end
      end