pub type NextMessageFut<'a, T>where T: AsyncBufReadWithFd + 'a, = impl Future<Output = Result<Message<'a>, Error>> + 'a;