1
0
mirror of https://github.com/fafhrd91/actix-net synced 2025-06-27 01:37:42 +02:00

Re-register task on every future poll

This commit is contained in:
Nikolay Kim
2019-10-14 17:55:52 +06:00
parent 115e82329f
commit 2e8c2c7733
7 changed files with 21 additions and 4 deletions

View File

@ -129,7 +129,6 @@ where
};
let mut cell = self.inner.clone();
cell.get_mut().task.register();
tokio_current_thread::spawn(self.service.call(item).then(move |item| {
let inner = cell.get_mut();
inner.buf.push_back(item);
@ -293,6 +292,8 @@ where
type Error = FramedTransportError<S::Error, U>;
fn poll(&mut self) -> Poll<Self::Item, Self::Error> {
self.inner.get_ref().task.register();
match mem::replace(&mut self.state, TransportState::Processing) {
TransportState::Processing => {
if self.poll_read() || self.poll_write() {