The main program
Let’s see how it all works in practice. Make sure that delayserver
is up and running, because we’ll need it for these examples to work.
The goal is to send a set of requests to delayserver
with varying delays and then use epoll to wait for the responses. Therefore, we’ll only use epoll to track read
events in this example. The program doesn’t do much more than that for now.
The first thing we do is to make sure our main.rs
file is set up correctly:
ch04/a-epoll/src/main.rs
use std::{io::{self, Read, Result, Write}, net::TcpStream}; use ffi::Event; use poll::Poll; mod ffi; mod poll;
We import a few types from our own crate and from the standard library, which we’ll need going forward, as well as declaring our two modules.
We’ll be working directly with TcpStreams
in this example, and that means that we’ll have to format the HTTP requests we make to our delayserver
ourselves.
The server will accept...