Fix examples
This commit is contained in:
parent
f28ff4f1c1
commit
98ab825479
|
@ -1,11 +1,14 @@
|
|||
use jive::io::{Async, Nonblocking, ReadBytes, Readiness};
|
||||
use jive::{
|
||||
io::{Async, Nonblocking, Readiness},
|
||||
net::TcpListener,
|
||||
};
|
||||
use read_write_buf::ReadWriteBuf;
|
||||
use std::time::Duration;
|
||||
|
||||
fn main() -> Result<(), jive::task::JoinError> {
|
||||
jive::block_on(async move {
|
||||
jive::spawn(async move {
|
||||
let mut listener = match Async::bind(([127, 0, 0, 1], 3456)).await {
|
||||
let mut listener = match Async::<TcpListener>::bind(([127, 0, 0, 1], 3456)).await {
|
||||
Ok(listener) => listener,
|
||||
Err(_) => return,
|
||||
};
|
||||
|
@ -34,19 +37,15 @@ fn main() -> Result<(), jive::task::JoinError> {
|
|||
if readiness.is_read() {
|
||||
while let Some(buf) = ring_buf.for_reading() {
|
||||
match stream.read_nonblocking(buf)? {
|
||||
Nonblocking::Ready(ReadBytes::Read(n)) => {
|
||||
let n: usize = n.into();
|
||||
Nonblocking::Ready(n) if n > 0 => {
|
||||
let should_break = n < buf.len();
|
||||
ring_buf.advance_read(n);
|
||||
if should_break {
|
||||
break;
|
||||
}
|
||||
}
|
||||
Nonblocking::Ready(ReadBytes::EOF) if ring_buf.is_empty() => {
|
||||
break 'l2
|
||||
}
|
||||
Nonblocking::Ready(ReadBytes::EOF)
|
||||
| Nonblocking::WouldBlock => break,
|
||||
Nonblocking::Ready(_) if ring_buf.is_empty() => break 'l2,
|
||||
Nonblocking::Ready(_) | Nonblocking::WouldBlock => break,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
use jive::io::{Async, Nonblocking, ReadBytes, Readiness};
|
||||
use jive::{
|
||||
io::{Async, Nonblocking, Readiness},
|
||||
net::TcpListener,
|
||||
};
|
||||
use read_write_buf::ReadWriteBuf;
|
||||
|
||||
const CHUNKED_HEAD: &[u8] = b"HTTP/1.1 200 OK\r\nContent-Type: application/octet-stream\r\nTransfer-Encoding: chunked\r\n\r\n";
|
||||
|
@ -14,7 +17,7 @@ fn length_head(content_length: usize) -> Vec<u8> {
|
|||
|
||||
fn main() {
|
||||
jive::block_on(async move {
|
||||
let mut listener = match Async::bind(([127, 0, 0, 1], 3456)).await {
|
||||
let mut listener = match Async::<TcpListener>::bind(([127, 0, 0, 1], 3456)).await {
|
||||
Ok(listener) => listener,
|
||||
Err(_) => return,
|
||||
};
|
||||
|
@ -48,8 +51,7 @@ fn main() {
|
|||
}
|
||||
|
||||
match stream.read_nonblocking(&mut req_bytes[total_read..])? {
|
||||
Nonblocking::Ready(ReadBytes::Read(n)) => {
|
||||
let n = usize::from(n);
|
||||
Nonblocking::Ready(n) if n > 0 => {
|
||||
total_read += n;
|
||||
match req.parse(&req_bytes[0..n]) {
|
||||
Ok(httparse::Status::Complete(body_start)) => break 'l1 body_start,
|
||||
|
@ -64,7 +66,7 @@ fn main() {
|
|||
}
|
||||
}
|
||||
}
|
||||
Nonblocking::Ready(ReadBytes::EOF) => return Ok(()),
|
||||
Nonblocking::Ready(_) => return Ok(()),
|
||||
Nonblocking::WouldBlock => continue,
|
||||
}
|
||||
|
||||
|
@ -152,20 +154,15 @@ fn main() {
|
|||
if readiness.is_read() {
|
||||
while let Some(buf) = ring_buf.for_reading() {
|
||||
match stream.read_nonblocking(buf)? {
|
||||
Nonblocking::Ready(ReadBytes::Read(n)) => {
|
||||
let n: usize = n.into();
|
||||
Nonblocking::Ready(n) if n > 0 => {
|
||||
let should_break = n < buf.len();
|
||||
ring_buf.advance_read(n);
|
||||
if should_break {
|
||||
break;
|
||||
}
|
||||
}
|
||||
Nonblocking::Ready(ReadBytes::EOF) if ring_buf.is_empty() => {
|
||||
break 'l2
|
||||
}
|
||||
Nonblocking::Ready(ReadBytes::EOF) | Nonblocking::WouldBlock => {
|
||||
break
|
||||
}
|
||||
Nonblocking::Ready(_) if ring_buf.is_empty() => break 'l2,
|
||||
Nonblocking::Ready(_) | Nonblocking::WouldBlock => break,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue