Skip to content

Commit ca10ca6

Browse files
weihangloseanmonstar
authored andcommitted
docs(server): update `with_graceful_shutdown doc test
Signed-off-by: Weihang Lo <[email protected]>
1 parent 13afb6e commit ca10ca6

File tree

1 file changed

+20
-22
lines changed

1 file changed

+20
-22
lines changed

src/server/mod.rs

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -164,34 +164,32 @@ where
164164
/// # Example
165165
///
166166
/// ```
167-
/// # extern crate hyper;
168-
/// # extern crate futures;
169-
/// # use futures::Future;
167+
/// # #![feature(async_await)]
170168
/// # fn main() {}
171169
/// # #[cfg(feature = "runtime")]
172-
/// # fn run() {
173-
/// # use hyper::{Body, Response, Server};
174-
/// # use hyper::service::service_fn_ok;
175-
/// # let new_service = || {
176-
/// # service_fn_ok(|_req| {
177-
/// # Response::new(Body::from("Hello World"))
178-
/// # })
179-
/// # };
180-
///
170+
/// # async fn run() {
171+
/// # use hyper::{Body, Response, Server, Error};
172+
/// # use hyper::service::{make_service_fn, service_fn};
173+
/// # let make_service = make_service_fn(|_| async {
174+
/// # Ok::<_, Error>(service_fn(|_req| async {
175+
/// # Ok::<_, Error>(Response::new(Body::from("Hello World")))
176+
/// # }))
177+
/// # });
181178
/// // Make a server from the previous examples...
182179
/// let server = Server::bind(&([127, 0, 0, 1], 3000).into())
183-
/// .serve(new_service);
184-
///
185-
/// // Prepare some signal for when the server should start
186-
/// // shutting down...
187-
/// let (tx, rx) = futures::sync::oneshot::channel::<()>();
180+
/// .serve(make_service);
188181
///
182+
/// // Prepare some signal for when the server should start shutting down...
183+
/// let (tx, rx) = tokio::sync::oneshot::channel::<()>();
189184
/// let graceful = server
190-
/// .with_graceful_shutdown(rx)
191-
/// .map_err(|err| eprintln!("server error: {}", err));
192-
///
193-
/// // Spawn `server` onto an Executor...
194-
/// hyper::rt::spawn(graceful);
185+
/// .with_graceful_shutdown(async {
186+
/// rx.await.ok();
187+
/// });
188+
///
189+
/// // Await the `server` receiving the signal...
190+
/// if let Err(e) = graceful.await {
191+
/// eprintln!("server error: {}", e);
192+
/// }
195193
///
196194
/// // And later, trigger the signal by calling `tx.send(())`.
197195
/// let _ = tx.send(());

0 commit comments

Comments
 (0)