Difference between revisions of "Necko"
(→Necko) |
|||
Line 1: | Line 1: | ||
− | |||
− | |||
− | |||
== 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 20:49, 5 October 2006
Contents
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).