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