# File lib/codec/data.rb, line 192
      def map
        expect Cproton::PN_MAP
        count = self.get_map
        raise TypeError, "invalid map, total of keys and values is odd" if count.odd?
        enter_exit do
          m = {}
          m[object] = next_object while self.next
          raise TypeError, "map expected #{count/2} entries, got #{m.size}" unless m.size == count/2
          m
        end
      end