maybe stream eof condition would be better than :logout :client-opcode