Difference between revisions of "Necko"

From CDOT Wiki
Jump to: navigation, search
(References)
Line 40: Line 40:
  
 
== References ==
 
== References ==
* [http://www.mozilla.org/projects/netlib/ | Mozilla Networking Library Documentation]
+
* [http://www.mozilla.org/projects/netlib/ Mozilla Networking Library Documentation]
* [http://www.mozilla.org/projects/netlib/necko_interface_overview.html | Necko Interfaces Primer]
+
* [http://www.mozilla.org/projects/netlib/necko_interface_overview.html Necko Interfaces Primer]
* [http://www.mozilla.org/projects/netlib/presentations/necko1-2002-02-18/slide1.xml | Darin Fisher's Necko presentation, 2002/02/18]
+
* [http://www.mozilla.org/projects/netlib/presentations/necko1-2002-02-18/slide1.xml Darin Fisher's Necko presentation, 2002/02/18]
* [http://lxr.mozilla.org/seamonkey/source/netwerk/ | LXR - seamonkey/netwerk]
+
* [http://lxr.mozilla.org/seamonkey/source/netwerk/ LXR - seamonkey/netwerk]

Revision as of 20:50, 5 October 2006

Short Description

Necko is a platform-independent API for several layers of networking (transport to presentation) that is built on XPCOM. It is currently in use in Mozilla and all of its clients.

Longer Description

  • Built on XPCOM and NSPR - Not a stand-alone library
  • Implemented mainly in C++
  • Continually evolving (quite drastically!)
  • Originally located at mozilla/network. This version is now completely deprecated.
  • Now located at mozilla/netwerk.

Important Interfaces

Necko has several important pieces:

  • nsIOService
  • nsIURI
  • nsIChannel
  • nsIProtocolHandler
  • nsITransport

nsIOService

  • Provides network utility functions.
  • Manages nsIProtocolHandler implementations.
  • Creates nsIURI objects from URI strings.

nsIURI

  • Represents a URI (scheme://host/path).
  • Parent class of nsIURL, which is implemeted by nsStandardURL, which handles standard URL operations.

nsIProtocolHandler

  • Manages a single protocol based on a scheme (e.g. http).
  • Uses nsIURI instance to create nsIChannel.

nsIChannel

  • Uses nsIURI information to create logical connection to resource.

nsIStreamListener

  • Listener for connection start, arrival of data, and stop request.

nsITransport

  • Represents physical connection (e.g. file descriptor, socket).

References