Increment stream window capacity when sending window update (#67)

This commit is contained in:
Oliver Gould
2017-09-08 12:24:06 -07:00
committed by Carl Lerche
parent c47717204c
commit 17bebe719a
2 changed files with 13 additions and 13 deletions

View File

@@ -54,7 +54,7 @@ fn send_data_without_requesting_capacity() {
fn release_capacity_sends_window_update() {
let _ = ::env_logger::init();
let payload = vec![0u8; 65_535];
let payload = vec![0u8; 16_384];
let (io, srv) = mock::new();
@@ -69,19 +69,16 @@ fn release_capacity_sends_window_update() {
frames::headers(1)
.response(200)
)
.send_frame(frames::data(1, &payload[0..16_384]))
.send_frame(frames::data(1, &payload[16_384..16_384 * 2]))
.send_frame(frames::data(1, &payload[16_384 * 2..16_384 * 3]))
.send_frame(frames::data(1, &payload[..]))
.send_frame(frames::data(1, &payload[..]))
.send_frame(frames::data(1, &payload[..]))
.recv_frame(
frames::window_update(0, 32_768)
)
.recv_frame(
frames::window_update(1, 32_768)
)
.send_frame(
frames::data(1, &payload[16_384 * 3..])
.eos()
)
.send_frame(frames::data(1, &payload[..]).eos())
// gotta end the connection
.map(drop);
@@ -103,21 +100,21 @@ fn release_capacity_sends_window_update() {
// read some body to use up window size to below half
.and_then(|(buf, body)| {
assert_eq!(buf.unwrap().len(), 16_384);
assert_eq!(buf.unwrap().len(), payload.len());
body.into_future().unwrap()
})
.and_then(|(buf, body)| {
assert_eq!(buf.unwrap().len(), 16_384);
assert_eq!(buf.unwrap().len(), payload.len());
body.into_future().unwrap()
})
.and_then(|(buf, mut body)| {
let buf = buf.unwrap();
assert_eq!(buf.len(), 16_384);
assert_eq!(buf.len(), payload.len());
body.release_capacity(buf.len() * 2).unwrap();
body.into_future().unwrap()
})
.and_then(|(buf, _)| {
assert_eq!(buf.unwrap().len(), 16_383);
assert_eq!(buf.unwrap().len(), payload.len());
Ok(())
});
h2.unwrap().join(req)