Let's start by creating a new binary project, as usual:
cargo new --bin ftp-server
We'll add the following dependencies in the Cargo.toml file:
[dependencies] bytes = "^0.4.5" tokio-core = "^0.1.10" tokio-io = "^0.1.3" [dependencies.futures-await] git = "https://github.com/alexcrichton/futures-await"
As you can see here, we specify a dependency via a Git URL. This dependency is using nightly-only features, so make sure you're using the nightly compiler by running this command:
rustup default nightly
Let's start our main module by adding the required extern crate statements:
#![feature(proc_macro, conservative_impl_trait, generators)] extern crate bytes; extern crate futures_await as futures; extern crate tokio_core; ...