Difference between revisions of "Necko"

From CDOT Wiki
Jump to: navigation, search
(Necko)
Line 1: Line 1:
''' Necko '''
 
 
 
 
== Short Description ==
 
== 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.
 
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.
Line 41: Line 38:
 
=== nsITransport ===
 
=== nsITransport ===
 
* Represents physical connection (e.g. file descriptor, socket).
 
* Represents physical connection (e.g. file descriptor, socket).
 +
 +
== References ==
 +
* [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/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]

Revision as of 21:49, 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