async def run(self, connection):
    message = (await connection._pop_message())
    if (message is None):
        return (await connection._transition_to_disconnected())
    elif (('reqid' in message.header) and (message.header['reqid'] == self.reqid)):
        self._reply = message
        return (await connection._transition(CONNECTED_AFTER_ACK()))
    else:
        return (await connection._next())
async def run(self, connection):
    message = (await connection._pop_message())
    if (message is None):
        return (await connection._transition_to_disconnected())
    elif (('reqid' in message.header) and (message.header['reqid'] == self.reqid)):
        self._reply = message
        return (await connection._transition(CONNECTED_AFTER_ACK()))
    else:
        return (await connection._next())