nsIFastLoadService

IID:759e475e-0c23-4dbf-b1b8-78c9369e3072
Inherits From:nsISupports

This interface is intended to be used as a service. To create an object implementing this interface:

var obj = Components.classes["@mozilla.org/fast-load-service;1"].
            getService(Components.interfaces.nsIFastLoadService);

This interface is implemented by the following components:


Constants

PRInt32 NS_FASTLOAD_READ = 1
PRInt32 NS_FASTLOAD_WRITE = 2

Properties

readonly PRInt32 direction

nsIFastLoadFileIO fileIO

nsIObjectInputStream inputStream

nsIObjectOutputStream outputStream


Methods

void addDependency ( nsIFile file ) void cacheChecksum ( nsIFile file , nsIObjectOutputStream stream ) PRUint32 computeChecksum ( nsIFile file , nsIFastLoadReadControl control ) void endMuxedDocument ( nsISupports URI ) [noscript] void getFastLoadReferent ( inout nsISupports ptr ) PRBool hasMuxedDocument ( char* URISpec ) nsIFile newFastLoadFile ( char* baseName ) nsIObjectInputStream newInputStream ( nsIInputStream srcStream ) nsIObjectOutputStream newOutputStream ( nsIOutputStream destStream ) [noscript] void readFastLoadPtr ( nsIObjectInputStream inputStream , inout nsISupports ptr ) nsISupports selectMuxedDocument ( nsISupports URI ) void startMuxedDocument ( nsISupports URI , char* URISpec , PRInt32 directionFlags ) [noscript] void writeFastLoadPtr ( nsIObjectOutputStream outputStream , nsISupports ptr )

void addDependency ( nsIFile file )

Arguments:
file

void cacheChecksum ( nsIFile file , nsIObjectOutputStream stream )

Arguments:
file
stream

PRUint32 computeChecksum ( nsIFile file , nsIFastLoadReadControl control )

Arguments:
file
control

void endMuxedDocument ( nsISupports URI )

Arguments:
URI

void getFastLoadReferent ( inout nsISupports ptr )

Arguments:
ptr

PRBool hasMuxedDocument ( char* URISpec )

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

Arguments:
URISpec

nsIFile newFastLoadFile ( char* baseName )

Arguments:
baseName

nsIObjectInputStream newInputStream ( nsIInputStream srcStream )

Arguments:
srcStream

nsIObjectOutputStream newOutputStream ( nsIOutputStream destStream )

Arguments:
destStream

void readFastLoadPtr ( nsIObjectInputStream inputStream , inout nsISupports ptr )

Arguments:
inputStream
ptr

nsISupports selectMuxedDocument ( nsISupports URI )

Arguments:
URI

void startMuxedDocument ( nsISupports URI , char* URISpec , PRInt32 directionFlags )

These methods associate a URI object with its spec, for faster select using the object pointer as a key, rather than the spec string. The selectMuxedDocument method returns the previously selected URI object, in case a caller needs to reselect the previous after muxing data for a given URI synchronously. For the non-blocking or "asynchronous" i/o case, the caller must select the source URI from the FastLoad multiplex before writing a new burst of data parsed from the slow-loaded source.

Clients of inputStream and outputStream should try to demultiplex data from the input stream only if fastLoadService->StartMuxedDocument(uri, urispec, NS_FASTLOAD_READ) succeeds. If StartMuxedDocument fails with NS_ERROR_NOT_AVAILABLE, callers should slow-load the documents, muxing their data to the current output stream.

Arguments:
URI
URISpec
directionFlags

void writeFastLoadPtr ( nsIObjectOutputStream outputStream , nsISupports ptr )

Arguments:
outputStream
ptr

Reference documentation is generated from Mozilla's source.

Add a note User Contributed Notes
No comments available

Copyright © 1999 - 2005 XULPlanet.com