summaryrefslogtreecommitdiffstats
path: root/netwerk/protocol/http/Http2Stream.cpp
diff options
context:
space:
mode:
authorjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-02-11 07:48:28 +0100
committerjanekptacijarabaci <janekptacijarabaci@seznam.cz>2018-02-11 07:48:28 +0100
commitbb9e155841de0e0fce81183a2fe6471f5c4df288 (patch)
tree4e7d1f77a0747b6a9e430f7406047d6c8ddf383a /netwerk/protocol/http/Http2Stream.cpp
parentaaa70dac618e0f56ea3fbe307f3a157360a79069 (diff)
downloadUXP-bb9e155841de0e0fce81183a2fe6471f5c4df288.tar
UXP-bb9e155841de0e0fce81183a2fe6471f5c4df288.tar.gz
UXP-bb9e155841de0e0fce81183a2fe6471f5c4df288.tar.lz
UXP-bb9e155841de0e0fce81183a2fe6471f5c4df288.tar.xz
UXP-bb9e155841de0e0fce81183a2fe6471f5c4df288.zip
Bug 1322373 - TLS 1.3 early-data for http/2
Diffstat (limited to 'netwerk/protocol/http/Http2Stream.cpp')
-rw-r--r--netwerk/protocol/http/Http2Stream.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/netwerk/protocol/http/Http2Stream.cpp b/netwerk/protocol/http/Http2Stream.cpp
index 5c562557c..f49c1f138 100644
--- a/netwerk/protocol/http/Http2Stream.cpp
+++ b/netwerk/protocol/http/Http2Stream.cpp
@@ -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