Skip to content

Commit 37daf1a

Browse files
authored
Merge pull request #921 from jwilm/fix-keep-alive
fix(client): keep-alive works as intended now
2 parents f9f13ea + 15d9da5 commit 37daf1a

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/http/conn.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,7 @@ impl<H: MessageHandler<T>, T: Transport> State<H, T> {
691691
{
692692
let timeout = next.timeout;
693693
let state = mem::replace(self, State::Closed);
694+
trace!("State::update state={:?}, interest={:?}", state, next.interest);
694695
match (state, next.interest) {
695696
(_, Next_::Remove) |
696697
(State::Closed, _) => return, // Keep State::Closed.
@@ -730,6 +731,10 @@ impl<H: MessageHandler<T>, T: Transport> State<H, T> {
730731
None
731732
}
732733
}
734+
Writing::KeepAlive => {
735+
writing = Writing::KeepAlive;
736+
None
737+
}
733738
_ => return, // Keep State::Closed.
734739
};
735740
if let Some(encoder) = encoder {
@@ -746,6 +751,7 @@ impl<H: MessageHandler<T>, T: Transport> State<H, T> {
746751
}
747752
};
748753

754+
trace!("(reading, writing) -> {:?}", (&reading, &writing));
749755
match (reading, writing) {
750756
(Reading::KeepAlive, Writing::KeepAlive) => {
751757
let next = factory.keep_alive_interest();

0 commit comments

Comments
 (0)