Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn handle_stream(stream: TcpStream) {
- info!("received connection from {}", stream.peer_addr().unwrap());
- let five_seconds = Some(Duration::new(5, 0));
- let _ = stream.set_read_timeout(five_seconds);
- let stream_buffer = BufReader::new(stream);
- let mut hdrlen_buffer = Vec::new();
- let mut stream_handler = stream_buffer.take(10);
- let _ = stream_handler.read_until(b'{', &mut hdrlen_buffer);
- let _ = hdrlen_buffer.pop(); // drop '{'
- let hdrlen_str = match str::from_utf8(&hdrlen_buffer) {
- Ok(s) => s,
- Err(e) => {
- error!("bad UTF-8 {}", e);
- return;
- }
- };
- let hdrlen: u64 = match hdrlen_str.parse() {
- Ok(l) => l,
- Err(e) => {
- error!("expected integer header length: {}", e);
- return;
- }
- };
- // FIXME: info -> debug
- info!("extracting header of length {:?}", hdrlen);
- stream_handler = stream_buffer.take(hdrlen - 1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement