wip: improve split stream tracking

This commit is contained in:
Oliver Gould
2017-07-21 01:30:39 +00:00
parent 44edd6a4d4
commit 8453435422
10 changed files with 408 additions and 222 deletions

View File

@@ -79,14 +79,22 @@ impl<T: ControlStreams> ControlStreams for StreamRecvClose<T> {
T::can_create_local_stream()
}
fn get_reset(&self, id: StreamId) -> Option<Reason> {
self.inner.get_reset(id)
fn close_stream_local_half(&mut self, id: StreamId) -> Result<(), ConnectionError> {
self.inner.close_stream_local_half(id)
}
fn close_stream_remote_half(&mut self, id: StreamId) -> Result<(), ConnectionError> {
self.inner.close_stream_remote_half(id)
}
fn reset_stream(&mut self, id: StreamId, cause: Reason) {
self.inner.reset_stream(id, cause)
}
fn get_reset(&self, id: StreamId) -> Option<Reason> {
self.inner.get_reset(id)
}
fn is_local_active(&self, id: StreamId) -> bool {
self.inner.is_local_active(id)
}
@@ -118,6 +126,14 @@ impl<T: ControlStreams> ControlStreams for StreamRecvClose<T> {
fn remote_flow_controller(&mut self, id: StreamId) -> Option<&mut FlowControlState> {
self.inner.remote_flow_controller(id)
}
fn check_can_send_data(&mut self, id: StreamId) -> Result<(), ConnectionError> {
self.inner.check_can_send_data(id)
}
fn check_can_recv_data(&mut self, id: StreamId) -> Result<(), ConnectionError> {
self.inner.check_can_recv_data(id)
}
}
impl<T: ApplySettings> ApplySettings for StreamRecvClose<T> {