Warning:
The content of this article may be out of date.
It was last updated in 2001.
nsIIOService
central necko service
manages protocol handlers
thin layer over protocol handlers
provides interface for creating URI objects from URI strings
maps URI scheme to appropriate nsIProtocolHandler impl
nsIURI
(
nsIURL
,
nsIFileURL
,
nsIStandardURL
)
represents an URI, with getters and setters for various URI parts (eg. scheme, host, path, ...)
per protocol implementation
necko provides URI impl's for common URI formats (see
nsStandardURL
,
nsSimpleURI
)
nsIChannel
:
nsIRequest
represents a logical connection to the resource identified by a nsIURI
per protocol implementation
single use (ie. channel is used to download the resource
once
)
download initiated via nsIChannel::AsyncOpen method
can be canceled via nsIRequest::Cancel method at anytime after invocation of AsyncOpen method
nsIProtocolHandler
a service that manages a protocol, identified by it's URI scheme (eg. http)
maps URI string to nsIURI instance via NewURI method
creates nsIChannel instance from nsIURI instance via NewChannel method
nsIStreamListener
:
nsIRequestObserver
implemented by the consumer of a nsIChannel instance
passed to nsIChannel::AsyncOpen method
nsIRequestObserver::OnStartRequest - notifies start of async download
nsIStreamListener::OnDataAvailable - notifies presence of downloaded data
nsIRequestObserver::OnStopRequest - notifies completion of async download, possibly w/ error
nsILoadGroup
:
nsIRequest
attribute of a nsIRequest
channel impl adds itself to its load group during invocation of AsyncOpen
channel impl removes itself from its load group when download completes
load groups in gecko own all channels used to load a particular page (until the channels complete)
all channels owned by a load group can be canceled at once via the load group's nsIRequest::Cancel method
nsITransport
represents a physical connection, such as a file descriptor or a socket
used directly by protocol handler implementations (as well as by mailnews and chatzilla)
synchronous I/O methods: OpenInputStream, OpenOutputStream
asynchronous I/O methods: AsyncRead, AsyncWrite
nsITransport::AsyncRead takes a nsIStreamListener parameter
Original Document Information
Author(s):
Darin Fisher
Last Updated Date: December 10, 2001
Copyright Information: Portions of this content are © 1998–2007 by individual mozilla.org contributors; content available under a Creative Commons license |
Details
.