зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1733922 - Specialize TransportSetup into Primary/BackupTransportSetup r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D127410
This commit is contained in:
Родитель
4cd661b6a5
Коммит
bf91b5a3a9
|
@ -53,13 +53,11 @@ DnsAndConnectSocket::DnsAndConnectSocket(nsHttpConnectionInfo* ci,
|
||||||
uint32_t caps, bool speculative,
|
uint32_t caps, bool speculative,
|
||||||
bool isFromPredictor, bool urgentStart)
|
bool isFromPredictor, bool urgentStart)
|
||||||
: mTransaction(trans),
|
: mTransaction(trans),
|
||||||
mPrimaryTransport(false),
|
|
||||||
mCaps(caps),
|
mCaps(caps),
|
||||||
mSpeculative(speculative),
|
mSpeculative(speculative),
|
||||||
mUrgentStart(urgentStart),
|
mUrgentStart(urgentStart),
|
||||||
mIsFromPredictor(isFromPredictor),
|
mIsFromPredictor(isFromPredictor),
|
||||||
mConnInfo(ci),
|
mConnInfo(ci) {
|
||||||
mBackupTransport(true) {
|
|
||||||
MOZ_ASSERT(ci && trans, "constructor with null arguments");
|
MOZ_ASSERT(ci && trans, "constructor with null arguments");
|
||||||
LOG(("Creating DnsAndConnectSocket [this=%p trans=%p ent=%s key=%s]\n", this,
|
LOG(("Creating DnsAndConnectSocket [this=%p trans=%p ent=%s key=%s]\n", this,
|
||||||
trans, mConnInfo->Origin(), mConnInfo->HashKey().get()));
|
trans, mConnInfo->Origin(), mConnInfo->HashKey().get()));
|
||||||
|
|
|
@ -169,8 +169,6 @@ class DnsAndConnectSocket final : public nsIOutputStreamCallback,
|
||||||
void SetConnecting();
|
void SetConnecting();
|
||||||
void MaybeSetConnectingDone();
|
void MaybeSetConnectingDone();
|
||||||
|
|
||||||
explicit TransportSetup(bool isBackup);
|
|
||||||
|
|
||||||
nsresult Init(DnsAndConnectSocket* dnsAndSock);
|
nsresult Init(DnsAndConnectSocket* dnsAndSock);
|
||||||
void CancelDnsResolution();
|
void CancelDnsResolution();
|
||||||
void Abandon();
|
void Abandon();
|
||||||
|
@ -184,6 +182,17 @@ class DnsAndConnectSocket final : public nsIOutputStreamCallback,
|
||||||
nsresult OnLookupComplete(DnsAndConnectSocket* dnsAndSock,
|
nsresult OnLookupComplete(DnsAndConnectSocket* dnsAndSock,
|
||||||
nsIDNSRecord* rec, nsresult status);
|
nsIDNSRecord* rec, nsresult status);
|
||||||
nsresult CheckConnectedResult(DnsAndConnectSocket* dnsAndSock);
|
nsresult CheckConnectedResult(DnsAndConnectSocket* dnsAndSock);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
explicit TransportSetup(bool isBackup);
|
||||||
|
};
|
||||||
|
|
||||||
|
struct PrimaryTransportSetup final : TransportSetup {
|
||||||
|
PrimaryTransportSetup() : TransportSetup(false) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct BackupTransportSetup final : TransportSetup {
|
||||||
|
BackupTransportSetup() : TransportSetup(true) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
nsresult SetupConn(bool isPrimary, nsresult status);
|
nsresult SetupConn(bool isPrimary, nsresult status);
|
||||||
|
@ -210,7 +219,7 @@ class DnsAndConnectSocket final : public nsIOutputStreamCallback,
|
||||||
RefPtr<nsAHttpTransaction> mTransaction;
|
RefPtr<nsAHttpTransaction> mTransaction;
|
||||||
bool mDispatchedMTransaction = false;
|
bool mDispatchedMTransaction = false;
|
||||||
|
|
||||||
TransportSetup mPrimaryTransport;
|
PrimaryTransportSetup mPrimaryTransport;
|
||||||
uint32_t mCaps;
|
uint32_t mCaps;
|
||||||
|
|
||||||
// mSpeculative is set if the socket was created from
|
// mSpeculative is set if the socket was created from
|
||||||
|
@ -247,7 +256,7 @@ class DnsAndConnectSocket final : public nsIOutputStreamCallback,
|
||||||
|
|
||||||
RefPtr<nsHttpConnectionInfo> mConnInfo;
|
RefPtr<nsHttpConnectionInfo> mConnInfo;
|
||||||
nsCOMPtr<nsITimer> mSynTimer;
|
nsCOMPtr<nsITimer> mSynTimer;
|
||||||
TransportSetup mBackupTransport;
|
BackupTransportSetup mBackupTransport;
|
||||||
|
|
||||||
bool mIsHttp3;
|
bool mIsHttp3;
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче