Networking: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Replace link with direct bugzilla search, because the &order=votes%20desc wasn't kept in the search)
(add Necko needinfo dashboard)
 
(58 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The '''''Necko''''' (or Networking) team is responsible for the fundamental network protocols and features like HTTP, QUIC, caching, and DNS. Most of our documentation resides on the [[fsd:networking/|firefox-source-docs/networking]] section, and our focus is to make it an accessible and easy-to-browse source of truth for our networking stack. This page serves as an extension to guide through the documentation and as a place to draft pages not yet ready to be in firefox-source-docs, but already useful on their own. At some point, all pages about networking in the wiki are intended to be lifted to firefox-source-docs.
[[File:Error-connection-failure.svg|right]]
The Necko team is responsible for the fundamental '''''network''''' protocols and features like HTTP, QUIC, caching, and DNS. Most of our documentation resides on the [[fsd:networking/|firefox-source-docs/networking]] section, and our focus is to make it an accessible and easy-to-browse source of truth for our networking stack. This page serves as an extension to guide through the documentation and as a place to draft pages not yet ready to be in firefox-source-docs, but already useful on their own. At some point, all pages about networking in the wiki are intended to be lifted to firefox-source-docs.


==Getting started==
==Getting started==
 
[[File:Error-server-not-found.svg|right]]
The general [https://firefox-source-docs.mozilla.org/setup/index.html Getting started section] will get you through most. Finding good first bugs in the networking component:
The general [https://firefox-source-docs.mozilla.org/setup/index.html Getting started section] will get you through most. Finding good first bugs in the networking component:
* [https://mzl.la/3JpdTle Good first bug in networking component]
* [https://bugzilla.mozilla.org/buglist.cgi?component=DOM:%20Networking&component=Networking&component=Networking:%20Cache&component=Networking:%20Cookies&component=Networking:%20DNS&component=Networking:%20File&component=Networking:%20Proxy&component=Networking:%20HTTP&component=Networking:%20JAR&component=Networking:%20WebSockets&keywords=good-first-bug,%20&keywords_type=allwords&product=Core&resolution=---&order=Bug%20Number%20DESC Good first bug in networking component]
* [https://github.com/mozilla/neqo/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 Good first issues in neqo] - the http3 library for necko in Rust
* [https://github.com/mozilla/neqo/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 Good first issues in neqo] - the http3 library for necko in Rust
* [https://bugzilla.mozilla.org/buglist.cgi?classification=Client%20Software&classification=Developer%20Infrastructure&classification=Components&classification=Server%20Software&classification=Other&component=DOM:%20Networking&component=Networking&component=Networking:%20Cache&component=Networking:%20Cookies&component=Networking:%20DNS&component=Networking:%20Domain%20Lists&component=Networking:%20File&component=Networking:%20FTP&component=Networking:%20HTTP&component=Networking:%20JAR&component=Networking:%20WebSockets&product=Core&resolution=---&votes=2&votes_type=greaterthaneq&order=votes%20desc Most popular bugs in networking component (with at least two votes)]
* [https://codetribute.mozilla.org/projects/webplatform?project%3DNetworking Finding first bugs]


==Code Review Policy==
If you have any question, you can reach out to us via [[matrix]] at [https://chat.mozilla.org/#/room/#necko:mozilla.org #necko:mozilla.org ]
Patches against Mozilla's networking code must be reviewed by the [[Modules/Core#Necko|module owner or a peer]], or by someone they have asked to perform a specific review. To request review simply add <code>r=#necko</code> to your commit message.
 
==Terminology==
When to use Networking/Necko:


==Documents==
* '''''Networking''''': Name of the component. Used in Bugzilla component/firefox-source-docs/wiki when describing the technical part.
* '''''Necko''''': Name of the team. Used primarily in the wiki to describe the people working on the Firefox networking component.


* [[fsd:networking/|Main Necko Docs page]]
==Team resources==
* [[fsd:networking/new_to_necko_resources.html|New to necko resources]]


==Pages in the wiki==
[[File:Error-session-restore.svg|right]]


All current Networking and Necko pages in the wiki. Most of them are currently outdated and need to
This page provides a list of Necko documents that offer valuable information to newcomers. While some of these documents may have been initially created in Google Docs for ease of collaboration, we recognize that they may become difficult to manage as they mature. As a result, we recommend moving them to a more permanent location in firefox-source-docs or the wiki. This collection covers a range of topics related to Necko, from Necko internals to API usage.


# be revisited to flag as outdated
* [[fsd:networking/|Firefox-source-docs Networking page]]
# then get updated or redirect to current documentation in firefox-source-docs
* [[Necko/The Necko Story|The Necko Story]]
* [https://docs.google.com/presentation/d/1TA0nqAbhl5WBqWGDZXqfsRrJJqBbYrNjjb2WvVcVT6U/ Current implementation] (2020-01-08)
* [https://docs.google.com/presentation/d/1BRCK4WMYg-dUy07PB5H4jFVTpc4YnkQX8f5Y3KXqCs8/ Necko Bird’s-eye view] (2018-10-23)
* [https://docs.google.com/presentation/d/1iuYNLJfz24MN9SS5ljjhG07452-kZKtXmOeGjcc1-lU/ Gecko HTTP Walkthrough] (2016-11-28)
* [https://mzl.la/43g6qjw Bugs in our backlog we want to look at next] ([https://mzl.la/3zvWFjm Review], [https://mzl.la/42cgREl New] [https://mzl.la/3GbSs8n Next], [https://mzl.la/3KsJki5 Unassigned], [https://mzl.la/3KvOUQJ Closed])
* [https://github.com/mozilla-necko Collection of tools by Necko]
** [https://mozilla-necko.github.io/necko-triage/ Necko Triage Helper][https://github.com/mozilla-necko/necko-triage]
** [https://mozilla-necko.github.io/logan/ http log analyzer] - [https://github.com/mozilla-necko/logan#readme How to read a http log]
** [https://github.com/mozilla-necko/triage-list Who's triaging] (http://mozilla-necko.github.io/triage-list/necko-triage.ics)
* [https://bugzilla.mozilla.org/buglist.cgi?component=DOM:%20Networking&component=Networking&component=Networking:%20Cache&component=Networking:%20Cookies&component=Networking:%20DNS&component=Networking:%20File&component=Networking:%20Proxy&component=Networking:%20HTTP&component=Networking:%20JAR&component=Networking:%20WebSockets&product=Core&resolution=---&votes=2&votes_type=greaterthaneq&order=votes%20DESC Most popular bugs in networking component (with at least two votes)]
* [https://bugzilla.mozilla.org/buglist.cgi?component=DOM:%20Networking&component=Networking&component=Networking:%20Cache&component=Networking:%20Cookies&component=Networking:%20DNS&component=Networking:%20File&component=Networking:%20Proxy&component=Networking:%20HTTP&component=Networking:%20JAR&component=Networking:%20WebSockets&limit=0&product=Core&resolution=---&order=votes%20DESC All bugs in networking component]
* networking bugs with performance impact: [https://bugzilla.mozilla.org/buglist.cgi?component=DOM:%20Networking&component=Networking&component=Networking:%20Cache&component=Networking:%20Cookies&component=Networking:%20DNS&component=Networking:%20File&component=Networking:%20Proxy&component=Networking:%20HTTP&component=Networking:%20JAR&component=Networking:%20WebSockets&f1=cf_performance_impact&o1=equals&product=Core&resolution=---&v1=high&order=bug_id%20DESC high] | [https://bugzilla.mozilla.org/buglist.cgi?component=DOM:%20Networking&component=Networking&component=Networking:%20Cache&component=Networking:%20Cookies&component=Networking:%20DNS&component=Networking:%20File&component=Networking:%20Proxy&component=Networking:%20HTTP&component=Networking:%20JAR&component=Networking:%20WebSockets&f1=cf_performance_impact&o1=equals&product=Core&resolution=---&v1=medium&order=bug_id%20DESC medium] | [https://bugzilla.mozilla.org/buglist.cgi?component=DOM:%20Networking&component=Networking&component=Networking:%20Cache&component=Networking:%20Cookies&component=Networking:%20DNS&component=Networking:%20File&component=Networking:%20Proxy&component=Networking:%20HTTP&component=Networking:%20JAR&component=Networking:%20WebSockets&f1=cf_performance_impact&o1=equals&product=Core&resolution=---&v1=low&order=bug_id%20DESC low]
* [[Glossary]]
* [https://mozilla-necko.github.io/ Necko Blog]
* [https://mozilla-necko.github.io/triage-list/ Necko Triage List]
* [https://mozilla-necko.github.io/meeting-notes/ Past Necko meeting notes]
* [https://bugzilla.mozilla.org/buglist.cgi?component=DOM%3A%20Networking&component=Networking&component=Networking%3A%20Cache&component=Networking%3A%20Cookies&component=Networking%3A%20DNS&component=Networking%3A%20File&component=Networking%3A%20HTTP&component=Networking%3A%20JAR&component=Networking%3A%20Proxy&component=Networking%3A%20WebSockets&f1=blocked&f2=keywords&o1=isempty&o2=notsubstring&product=Core&query_format=advanced&resolution=---&status_whiteboard=%5Bnecko-triaged%5D&status_whiteboard_type=allwordssubstr&v2=meta&order=votes%20DESC&limit=0 Bugs that don't block a meta bug]
* [https://mozilla.github.io/needinfodashboard/?team=necko Necko needinfo dashboard]


===Networking===
==Editing firefox-source-docs==


{{Special:PrefixIndex/Networking/}}
To submit small documentation changes to the networking component, you can reference [https://bugzilla.mozilla.org/show_bug.cgi?id=1773234 Bug 1773234] in the commit message. For example:


===Necko===
Bug 1773234 - Fix spelling in networking docs r=#necko


{{Special:PrefixIndex/Necko/}}
And replace the description with the actual changes done in the commit. For simple changes review is not required<ref>[[fsd:tools/moztreedocs/index.html|Managing Documentation]]</ref>


===Necko namespace===
==Code Review Policy==
Patches against Mozilla's networking code must be reviewed by the [[fsd:mots/index.html#core-necko|module owner or a peer]], or by someone they have asked to perform a specific review. To request review simply add <code>r=#necko</code> to the end of the first line of your commit message.


{{Special:PrefixIndex/Necko:}}
==Pages in the wiki==


===Caches===
All current Networking and Necko pages in the wiki.
{{outdated|section=yes}}
If you find another outdated page please do the following:


* [[Necko/Cache|Current Cache Architecture Documentation]]
# Mark the page as outdated by adding <code><nowiki>{{Template:Archived}}</nowiki></code> to the top.
* [[Necko/Cache/Plans|New Cache Plans]]
# Move the page to the [[Networking/Archive]] prefix.
* [[Necko/Cache/Offline|Offline Application Cache]]
* [[Necko/MobileCache|Mobile Disk Cache]]


===Features===
===Networking===
{{outdated|section=yes}}


* [[Necko/Dashboard|In-Browser Networking Dashboard]]
<div style="column-count:3; -moz-column-count:3;">
* [[Necko: Electrolysis design and subprojects|Necko and Electrolysis]]
<subpages page="Networking" sort="asc" showpage="no" kidsonly="yes" limit="500"/>
* [[Necko: support sending OnDataAvailable() to other threads|Non-main-thread OnDataAvailable()]]
</div>
* [[Necko/DNS/ResolverIntegration|DNS Resolver Integration]]
* [[Necko: PBackground IPC design for HTTP channel|PBackground-ify HTTP Channel]]
* [[Necko: Sandboxing TCP/UDP socket in a separate process|Socket Process Isolation]]


===Other===
===Necko===
{{outdated|section=yes}}


* [[Networking/DataReduction|Data Usage Reduction]]
<div style="column-count:3; -moz-column-count:3;">
* [[PSM:Topics|PSM: Platform Security Module]]
<subpages page="Necko" sort="asc" showpage="no" kidsonly="yes" limit="500"/>
* [[Necko/Differences|A list of ways in which Necko behavior differs from other networking implementations.]]
</div>
* [[Networking/http2|HTTP/2 status]]

Latest revision as of 11:56, 1 March 2024

Error-connection-failure.svg

The Necko team is responsible for the fundamental network protocols and features like HTTP, QUIC, caching, and DNS. Most of our documentation resides on the firefox-source-docs/networking section, and our focus is to make it an accessible and easy-to-browse source of truth for our networking stack. This page serves as an extension to guide through the documentation and as a place to draft pages not yet ready to be in firefox-source-docs, but already useful on their own. At some point, all pages about networking in the wiki are intended to be lifted to firefox-source-docs.

Getting started

Error-server-not-found.svg

The general Getting started section will get you through most. Finding good first bugs in the networking component:

If you have any question, you can reach out to us via matrix at #necko:mozilla.org

Terminology

When to use Networking/Necko:

  • Networking: Name of the component. Used in Bugzilla component/firefox-source-docs/wiki when describing the technical part.
  • Necko: Name of the team. Used primarily in the wiki to describe the people working on the Firefox networking component.

Team resources

Error-session-restore.svg

This page provides a list of Necko documents that offer valuable information to newcomers. While some of these documents may have been initially created in Google Docs for ease of collaboration, we recognize that they may become difficult to manage as they mature. As a result, we recommend moving them to a more permanent location in firefox-source-docs or the wiki. This collection covers a range of topics related to Necko, from Necko internals to API usage.

Editing firefox-source-docs

To submit small documentation changes to the networking component, you can reference Bug 1773234 in the commit message. For example:

Bug 1773234 - Fix spelling in networking docs r=#necko

And replace the description with the actual changes done in the commit. For simple changes review is not required<ref>Managing Documentation</ref>

Code Review Policy

Patches against Mozilla's networking code must be reviewed by the module owner or a peer, or by someone they have asked to perform a specific review. To request review simply add r=#necko to the end of the first line of your commit message.

Pages in the wiki

All current Networking and Necko pages in the wiki. If you find another outdated page please do the following:

  1. Mark the page as outdated by adding {{Template:Archived}} to the top.
  2. Move the page to the Networking/Archive prefix.

Networking

Necko