

def copy_and_advance(self, key, new_value):
    'Advance the given key in the token to a new value if and only if the\n        new value is after the old value.\n        '
    new_token = self.copy_and_replace(key, new_value)
    if (key == 'room_key'):
        new_id = new_token.room_stream_id
        old_id = self.room_stream_id
    else:
        new_id = int(getattr(new_token, key))
        old_id = int(getattr(self, key))
    if (old_id < new_id):
        return new_token
    else:
        return self

dataset/ETHPy150Open matrix-org/synapse/synapse/types.py StreamToken.copy_and_advance/original