Pure-Rust asynchronous SSH library, both client and server

Make the agent agnostic to async runtimes This patch allows the server and client streams to be agnostic to the async runtime. It achieves this by abstracting out the common methods that invlove the specific runtime. For a client this means connecting to the particular stream and being able to read a response from it. For a server this means the run loop and spawning a thread for revoking a key with a lifetime constraint. In both cases, the functionality is captured in traits. These traits are then implemented by the specific runtimes, currently tokio and smol. Each of these modules is hidden behind a feature flag "tokio-agent" and "smol-agent". For convenience, "tokio-agent" is on by default.

Created by  fintohaps  on August 19, 2021
GNTMCGTBA3QCXVBC3AFD72CVFWLDS3N52M36ABWFLCBDQDNEYD5AC
Change contents