Get server working again (mostly)

This commit is contained in:
Carl Lerche
2017-08-09 10:36:03 -07:00
parent 38762a9711
commit 8f2b69c280
7 changed files with 176 additions and 61 deletions

View File

@@ -1,4 +1,4 @@
use {client, ConnectionError, Frame};
use {client, server, ConnectionError, Frame};
use HeaderMap;
use frame::{self, StreamId};
@@ -122,19 +122,7 @@ impl<T, P, B> Connection<T, P, B>
match frame {
Some(Headers(frame)) => {
trace!("recv HEADERS; frame={:?}", frame);
if let Some(frame) = try!(self.streams.recv_headers::<P>(frame)) {
unimplemented!();
}
/*
// Update stream state while ensuring that the headers frame
// can be received.
if let Some(frame) = try!(self.streams.recv_headers(frame)) {
let frame = Self::convert_poll_message(frame)?;
return Ok(Some(frame).into());
}
*/
try!(self.streams.recv_headers::<P>(frame));
}
Some(Data(frame)) => {
trace!("recv DATA; frame={:?}", frame);
@@ -269,6 +257,15 @@ impl<T, B> Connection<T, client::Peer, B>
}
}
impl<T, B> Connection<T, server::Peer, B>
where T: AsyncRead + AsyncWrite,
B: IntoBuf,
{
pub fn next_incoming(&mut self) -> Option<StreamRef<B::Buf>> {
self.streams.next_incoming()
}
}
/*
impl<T, B> Connection<T, Client, B>
where T: AsyncRead + AsyncWrite,