Public Member Functions | Public Attributes

nsIFastLoadFileControl Interface Reference

The nsIFastLoadFileControl interface and its subinterfaces are mix-ins for classes implementing nsIObjectInputStream and nsIObjectOutputStream, so that those stream types can be used with nsIFastLoadService to access and compute FastLoad file checksums, update and check FastLoad file dependencies, and multiplex documents loaded via non-blocking i/o. More...

import "nsIFastLoadFileControl.idl";

Inheritance diagram for nsIFastLoadFileControl:

List of all members.

Public Member Functions

void startMuxedDocument (in nsISupports aURI, in string aURISpec)
 Multiplexed document control methods.
nsISupports selectMuxedDocument (in nsISupports aURI)
void endMuxedDocument (in nsISupports aURI)
boolean hasMuxedDocument (in string aURISpec)
 Return true if aURISpec identifies a muxed document in the FastLoad file, false otherwise.

Public Attributes

readonly attribute PRUint32 checksum
 Get the recorded checksum value from the FastLoad file header.

Detailed Description

The nsIFastLoadFileControl interface and its subinterfaces are mix-ins for classes implementing nsIObjectInputStream and nsIObjectOutputStream, so that those stream types can be used with nsIFastLoadService to access and compute FastLoad file checksums, update and check FastLoad file dependencies, and multiplex documents loaded via non-blocking i/o.

If an nsIObjectInputStream class doesn't support nsIFastLoadReadControl, or an nsIObjectOutputStream class doesn't support nsIFastLoadWriteControl, that implementation may still be useful for object serialization, but it can't be used to read or write a Mozilla FastLoad file.


Member Function Documentation

void nsIFastLoadFileControl::endMuxedDocument ( in nsISupports  aURI  ) 
boolean nsIFastLoadFileControl::hasMuxedDocument ( in string  aURISpec  ) 

Return true if aURISpec identifies a muxed document in the FastLoad file, false otherwise.

nsISupports nsIFastLoadFileControl::selectMuxedDocument ( in nsISupports  aURI  ) 
void nsIFastLoadFileControl::startMuxedDocument ( in nsISupports  aURI,
in string  aURISpec 
)

Multiplexed document control methods.

A FastLoad file may contain multiple interleaved documents identified by a URI specifier string, and indexed for fast multiplexor select by an opaque URI object key. You StartMuxedDocument when initiating a document load, then Select before every batch of calls to (de)serialize document data, and End when the load completes.

Document multiplexing is necessary to support incremental FastLoad development in a non-blocking i/o architecture such as Mozilla, where some (but not all, at first, or for a while during development) of the results of parsing and compiling various inputs can be multiplexed to or from a FastLoad file.

Note: Select returns the previously selected URI object in case the caller is synchronously selecting and writing data to the FastLoad file, so the caller can reselect the previous URI and return to code the continues to write FastLoad data for the previous URI, unaware of the nested select/write/reselect.


Member Data Documentation

readonly attribute PRUint32 nsIFastLoadFileControl::checksum

Get the recorded checksum value from the FastLoad file header.


The documentation for this interface was generated from the following file: