'Get one object from the storage.
:param commit: if set to True will force the mmap flush.
:return: the right object to fetch'

def get_one(self, commit=True):

    if self.stopped:
        return
    self.init()
    m = self.map_handles[READ_ENTRANCE]
    while (m is not None):
        with self.lock:
            (size,) = struct.unpack('I', m[:4])
            if (size == 0):
                self._destroy_file()
                m = self.map_handles[READ_ENTRANCE]
            else:
                obj = self._destringfy(m[4:(4 + size)])
                m[:] = (m[(4 + size):] + ('\x00' * (4 + size)))
                if (commit is True):
                    m.flush()
                return obj
