mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-07-29 03:41:11 +03:00
Separately track streams by DSR and non DSR data lost.
Summary: We need to do this to maintain consistency with the schedulers. Prior to this fix when we ran out of connection flow control and had lost DSR data the non-DSR stream scheduler would do an empty write _and_ the DSR stream scheduler would do an empty write. To fully resolve the issue we need to track the streams separately (note that the same stream can be in both sets). Reviewed By: jbeshay Differential Revision: D40003361 fbshipit-source-id: fd3e567bc8a2bc8b71d4c4543894053fa6e24dc4
This commit is contained in:
committed by
Facebook GitHub Bot
parent
8d38c19348
commit
03e314a3a4
@ -512,7 +512,7 @@ void StreamFrameScheduler::writeStreams(PacketBuilderInterface& builder) {
|
||||
} // namespace quic
|
||||
|
||||
bool StreamFrameScheduler::hasPendingData() const {
|
||||
return conn_.streamManager->hasLoss() ||
|
||||
return conn_.streamManager->hasNonDSRLoss() ||
|
||||
(conn_.streamManager->hasNonDSRWritable() &&
|
||||
getSendConnFlowControlBytesWire(conn_) > 0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user