# File lib/codec/data.rb, line 87
    def initialize(capacity = 16)
      if (!capacity.nil?) &&
         (capacity.is_a?(Fixnum) ||
          capacity.is_a?(Bignum))
        @data = Cproton.pn_data(capacity)
        @free = true
      else
        @data = capacity
        @free = false
      end

      # destructor
      ObjectSpace.define_finalizer(self, self.class.finalize!(@data, @free))
    end