Open Bug 1772195 Opened 2 years ago Updated 2 years ago

More structure for nsHttpConnection

Categories

(Core :: Networking: HTTP, enhancement, P3)

enhancement

Tracking

()

People

(Reporter: dragana, Unassigned, NeedInfo)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Attachments

(1 file)

The following nsHttpConnection functions are specific to and only used by HTTP/1.1/1.0 or HTTP/2 protocol:

  • HTTP/1./1.0 related:
    • TryTakeSubTransactions
    • UpdateTCPKeepalive
    • BeginIdleMonitoring
    • EndIdleMonitoring
    • StartShortLivedTCPKeepalives
    • StartLongLivedTCPKeepalives
    • DisableTCPKeepalives
  • HTTP/2 related:
    • MoveTransactionsToSpdy
    • Start0RTTSpdy
    • StartSpdy
    • Reset0RttForSpdy
    • AddTransaction

This can be isolated. Many other functions have 2 separate behaviors for the 2 versions and can be factored out better for easier reading the code.

Attached file Split nsHttpConnection (deleted) —

nsHttpConnection is used for HTTP/1.1(and smaller) and for HTTP/2. The behavior of nsHttpConnection is a bit different for the 2 versions, e.g. HTTP/1.1 uses tcp keep-alive and HTTP/2 implements its own pings.

This patch takes out from nsHttpConnection the specific behavior of the 2 types into Http1VersionSpecific and Http2VersonSpecific classes.

Also remove SpdyInformation snce we only have one version od spdy now, i.e. HTTP/2.

Assignee: nobody → dd.mozilla
Status: NEW → ASSIGNED

I will not have time to work on this bug, so I am unassigning myself.

Assignee: dd.mozilla → nobody
Status: ASSIGNED → NEW

Valentin, please take a look at the patch if you want to finish it or just abandon it. Thank you.

Flags: needinfo?(valentin.gosu)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: