Bug 1322373 - TLS 1.3 early-data for http/2

This commit is contained in:
janekptacijarabaci 2018-02-11 07:48:28 +01:00 committed by Roy Tam
commit 202ca6d067
11 changed files with 342 additions and 82 deletions

View file

@ -70,6 +70,7 @@ Http2Stream::Http2Stream(nsAHttpTransaction *httpTransaction,
, mTotalSent(0)
, mTotalRead(0)
, mPushSource(nullptr)
, mAttempting0RTT(false)
, mIsTunnel(false)
, mPlainTextTunnel(false)
{
@ -925,7 +926,9 @@ Http2Stream::TransmitFrame(const char *buf,
*countUsed += mTxStreamFrameSize;
}
mSession->FlushOutputQueue();
if (!mAttempting0RTT) {
mSession->FlushOutputQueue();
}
// calling this will trigger waiting_for if mRequestBodyLenRemaining is 0
UpdateTransportSendEvents(mTxInlineFrameUsed + mTxStreamFrameSize);
@ -1468,5 +1471,26 @@ Http2Stream::MapStreamToHttpConnection()
mTransaction->ConnectionInfo());
}
// -----------------------------------------------------------------------------
// mirror nsAHttpTransaction
// -----------------------------------------------------------------------------
bool
Http2Stream::Do0RTT()
{
MOZ_ASSERT(mTransaction);
mAttempting0RTT = true;
return mTransaction->Do0RTT();
}
nsresult
Http2Stream::Finish0RTT(bool aRestart, bool aAlpnChanged)
{
MOZ_ASSERT(mTransaction);
mAttempting0RTT = false;
return mTransaction->Finish0RTT(aRestart, aAlpnChanged);
}
} // namespace net
} // namespace mozilla