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).