Гарантирует ли pauseProduction() в Twisted отсутствие вызовов dataReceived()?

Это расширение моего вопроса здесь: python Twisted: обеспечение одного соединения за идентификатор

Я пытаюсь обеспечить одно соединение для каждого идентификатора. Если новое соединение приходит с тем же идентификатором, что и существующее соединение, я пытаюсь убить старое и заменить его новым. Я делаю это, приостанавливая новый, убивая старый, а затем снова приостанавливая новый. Я предположил, что после приостановки транспорта в соединении я больше не буду звонить dataReceived(), но, похоже, это не так.

В своих журналах я записал, где я pauseProducing в методе dataReceived, а затем вернулся. Сразу же (1 мс!) после второго вызова dataReceived для того же объекта без вызовов для отмены приостановки производства.

Являются ли мои предположения о том, что вызовы dataReceived после pauseProducing больше не выполняются, неверны, или я обнаружил ошибку?


person Tim Tisdall    schedule 30.03.2015    source источник


Ответы (1)


Если предположить, что ваша программа работает так, как вы описываете, то да, это ошибка. Отправьте его на https://twistedmatrix.com/trac/newticket .

person Glyph    schedule 30.03.2015
comment
Вы оформляли билет? Пожалуйста, дайте ссылку на него, когда вы это сделаете. - person Glyph; 31.03.2015
comment
эй .. Я просматривал старые вопросы и только что заметил это. К сожалению, это выходит за рамки моей памяти, и это не похоже на то, что я зарегистрировал ошибку. - person Tim Tisdall; 04.07.2017