Implement a threadsafe & revised version of http2PushedStream.

This commit is contained in:
wolfbeast 2019-07-18 17:52:46 +02:00 committed by Roy Tam
commit 28e15ed590
9 changed files with 144 additions and 32 deletions

View file

@ -131,14 +131,14 @@ public:
nsHttpTransaction *QueryHttpTransaction() override { return this; }
Http2PushedStream *GetPushedStream() { return mPushedStream; }
Http2PushedStream *TakePushedStream()
{
Http2PushedStream *r = mPushedStream;
mPushedStream = nullptr;
return r;
already_AddRefed<Http2PushedStreamWrapper> GetPushedStream() {
return do_AddRef(mPushedStream);
}
void SetPushedStream(Http2PushedStream *push) { mPushedStream = push; }
already_AddRefed<Http2PushedStreamWrapper> TakePushedStream() {
return mPushedStream.forget();
}
void SetPushedStream(Http2PushedStreamWrapper* push) { mPushedStream = push; }
uint32_t InitialRwin() const { return mInitialRwin; };
bool ChannelPipeFull() { return mWaitingOnPipeOut; }
@ -264,7 +264,7 @@ private:
// so far been skipped.
uint32_t mInvalidResponseBytesRead;
Http2PushedStream *mPushedStream;
RefPtr<Http2PushedStreamWrapper> mPushedStream;
uint32_t mInitialRwin;
nsHttpChunkedDecoder *mChunkedDecoder;