Difference between revisions of "Necko"
(→References) |
|||
Line 40: | Line 40: | ||
== References == | == References == | ||
− | * [http://www.mozilla.org/projects/netlib/ | + | * [http://www.mozilla.org/projects/netlib/ Mozilla Networking Library Documentation] |
− | * [http://www.mozilla.org/projects/netlib/necko_interface_overview.html | + | * [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 | + | * [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/ | + | * [http://lxr.mozilla.org/seamonkey/source/netwerk/ LXR - seamonkey/netwerk] |
Revision as of 20:50, 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).