Necko

From CDOT Wiki
Revision as of 21:42, 5 October 2006 by Ankuswan (talk | contribs) (Necko)
Jump to: navigation, search

Necko


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