code: def _init_value(self, key):
          
          encoded = key.encode('utf-8')
          # Pad to be 8-byte aligned.
          padded = encoded + (b' ' * (8 - (len(encoded) + 4) % 8))
          value = struct.pack('i{0}sd'.format(len(padded)).encode(), len(encoded), padded, 0.0)
          while self._used + len(value) > self._capacity:
              self._capacity *= 2
              self._f.truncate(self._capacity)
              self._m = mmap.mmap(self._f.fileno(), self._capacity)
          self._m[self._used:self._used + len(value)] = value
  
          # Update how much space we've used.
          self._used += len(value)
          _pack_integer(self._m, 0, self._used)
          self._positions[key] = self._used - 8
docs: Initialize a value. Lock must be held by caller.