def save(self, must_create=False):

        # If the save method is called with must_create equal to True, I'm
        # setting self._session_key equal to None and when
        # self.get_or_create_session_key is called the new
        # session_key will be created.
        if must_create:
            self._session_key = None

        self._get_or_create_session_key()
        item = self.table.new_item(self.session_key)
        # Queue up a PUT operation for UpdateItem, which preserves the
        # existing 'created' attribute.
        item.put_attribute('data', self.encode(self._get_session(no_load=must_create)))

        if must_create:

            item.put_attribute('created', int(time.time()))
            # We expect the data value to be False because we are creating a
            # new session
            item.put(expected_value={'data': False})
        else:
            # Commits the PUT UpdateItem for the 'data' attrib, meanwhile
            # leaving the 'created' attrib un-touched.
            item.save()
Receive a close ack from the broker.
dataset/ETHPy150Open gtaylor/django-dynamodb-sessions/dynamodb_sessions/backends/dynamodb.py/SessionStore.save--crossover with--dataset/ETHPy150Open agoragames/haigha/haigha/classes/channel_class.py/ChannelClass._recv_close_ok