Networking: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(add Necko needinfo dashboard)
 
(76 intermediate revisions by 7 users not shown)
Line 1: Line 1:
==Code Review Policy==
[[File:Error-connection-failure.svg|right]]
Patches against Mozilla's networking code must be reviewed by the [https://wiki.mozilla.org/Modules/Core#Necko module owner or a peer], or by someone they have asked to perform a specific review.
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==
[[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:
* [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://codetribute.mozilla.org/projects/webplatform?project%3DNetworking Finding first bugs]
 
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 ]
 
==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==
 
[[File:Error-session-restore.svg|right]]


==Dashboard==
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.
The [http://people.mozilla.com/~josh/network-team/ network team dashboard] displays information about outstanding security bugs, recent bug fixes, and outstanding review requests.


==Priorities==
* [[fsd:networking/|Firefox-source-docs Networking page]]
* [[Networking/TeamPriorities|Team Priorities]]
* [[Necko/The Necko Story|The Necko Story]]
* [[Networking/IndividualPriorities|Individual Priorities]]
* [https://docs.google.com/presentation/d/1TA0nqAbhl5WBqWGDZXqfsRrJJqBbYrNjjb2WvVcVT6U/ Current implementation] (2020-01-08)
* [[Platform/2013-Q1-Goals#Networking|Q1 2013 Team Goals]]
* [https://docs.google.com/presentation/d/1BRCK4WMYg-dUy07PB5H4jFVTpc4YnkQX8f5Y3KXqCs8/ Necko Bird’s-eye view] (2018-10-23)
* [[Platform/2012-Q4-Goals#Networking|Q4 2012 Team Goals]]
* [https://docs.google.com/presentation/d/1iuYNLJfz24MN9SS5ljjhG07452-kZKtXmOeGjcc1-lU/ Gecko HTTP Walkthrough] (2016-11-28)
* [[Platform/2012-Q3-Goals#Networking|Q3 2012 Team Goals]]
* [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])
* [[Platform/2012-Q2-Goals#Networking|Q2 2012 Team Goals]]
* [https://github.com/mozilla-necko Collection of tools by Necko]
* [[Platform/2012-Q1-Goals#Networking|Q1 2012 Team Goals]]
** [https://mozilla-necko.github.io/necko-triage/ Necko Triage Helper][https://github.com/mozilla-necko/necko-triage]
* [[Platform/2011-Q4-Goals#Networking|Q4 2011 Team Goals]]
** [https://mozilla-necko.github.io/logan/ http log analyzer] - [https://github.com/mozilla-necko/logan#readme How to read a http log]
* [[Platform/2011-Q3-Goals#Networking|Q3 2011 Team Goals]]
** [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]


==Tools==
==Editing firefox-source-docs==
* [[NeckoNet|NeckoNet: Standalone network testing framework]]
* [[Networking/Androids|Android hardware for testing]]


==Documents==
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:


===Mozilla Developer Network (MDN)===
Bug 1773234 - Fix spelling in networking docs r=#necko


* [https://developer.mozilla.org/en/Necko Main Necko Docs page]
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>
* [https://developer.mozilla.org/en/Writing_xpcshell-based_unit_tests xpcshell unit test framework docs] (preferrred for many necko tests, as xpcshell tests are more lightweight and faster than mochitests)


===Caches===
==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.


* [[Necko/Cache|Current Cache Architecture Documentation]]
==Pages in the wiki==
* [[Necko/Cache/Plans|General Cache Plans]]
* [[Necko/Cache/Offline|Offline Application Cache]]
* [[Necko/MobileCache|Mobile Disk Cache]]


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


* [[Necko/Performance/AutomatedTesting|Stone Ridge: Automated Performance Testing]]
# Mark the page as outdated by adding <code><nowiki>{{Template:Archived}}</nowiki></code> to the top.
# Move the page to the [[Networking/Archive]] prefix.


===Features===
===Networking===


* [[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]]


===Other===
===Necko===


* [[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>

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