Back to index
|void||init (in nsIInputStream aStream, in long long aStreamPos, in long long aStreamLen, in unsigned long aSegmentSize, in unsigned long aSegmentCount, in boolean aCloseWhenDone)|
|Initialize the input stream pump. |
|void||asyncRead (in nsIStreamListener aListener, in nsISupports aListenerContext)|
|asyncRead causes the input stream to be read in chunks and delivered asynchronously to the listener via OnDataAvailable. |
|Indicates whether the request is pending. |
|void||cancel (in nsresult aStatus)|
|Cancels the current request. |
|Suspends the current request. |
|Resumes the current request. |
|readonly attribute AUTF8String||name|
|The name of the request. |
|readonly attribute nsresult||status|
|The error status associated with the request. |
|The load group of this request. |
|The load flags of this request. |
|const unsigned long||LOAD_NORMAL = 0|
|No special load flags: |
|const unsigned long||LOAD_BACKGROUND = 1 << 0|
|Don't deliver status notifications to the nsIProgressEventSink, or keep this load from completing the nsILoadGroup it may belong to. |
|const unsigned long||INHIBIT_CACHING = 1 << 7|
|This flag prevents caching of any kind. |
|const unsigned long||INHIBIT_PERSISTENT_CACHING = 1 << 8|
|This flag prevents caching on disk (or other persistent media), which may be needed to preserve privacy. |
|const unsigned long||LOAD_BYPASS_CACHE = 1 << 9|
|Force an end-to-end download of content data from the origin server. |
|const unsigned long||LOAD_FROM_CACHE = 1 << 10|
|Load from the cache, bypassing protocol specific validation logic. |
|const unsigned long||VALIDATE_ALWAYS = 1 << 11|
|The following flags control the frequency of cached content validation when neither LOAD_BYPASS_CACHE or LOAD_FROM_CACHE are set. |
|const unsigned long||VALIDATE_NEVER = 1 << 12|
|const unsigned long||VALIDATE_ONCE_PER_SESSION = 1 << 13|
This interface provides a means to configure and use a input stream pump instance. The input stream pump will asynchronously read from a input stream, and push data to a nsIStreamListener instance. It utilizes the current thread's nsIEventTarget in order to make reading from the stream asynchronous.
If the given stream supports nsIAsyncInputStream, then the stream pump will call the stream's AsyncWait method to drive the stream listener. Otherwise, the stream will be read on a background thread utilizing the stream transport service. More details are provided below.
|void nsIInputStreamPump::asyncRead||(||in nsIStreamListener||aListener,|
asyncRead causes the input stream to be read in chunks and delivered asynchronously to the listener via OnDataAvailable.
|aListenerContext||passed to listener methods.|
Cancels the current request.
This will close any open input or output streams and terminate any async requests. Users should normally pass NS_BINDING_ABORTED, although other errors may also be passed. The error passed in will become the value of the status attribute.
|aStatus||the reason for canceling this request.|
NOTE: most nsIRequest implementations expect aStatus to be a failure code; however, some implementations may allow aStatus to be a success code such as NS_OK. In general, aStatus should be a failure code.
|void nsIInputStreamPump::init||(||in nsIInputStream||aStream,|
|in long long||aStreamPos,|
|in long long||aStreamLen,|
|in unsigned long||aSegmentSize,|
|in unsigned long||aSegmentCount,|
Initialize the input stream pump.
|aStream||contains the data to be read. if the input stream is non-blocking, then it will be QI'd to nsIAsyncInputStream. if the QI succeeds then the stream will be read directly. otherwise, it will be read on a background thread using the stream transport service.|
|aStreamPos||specifies the stream offset from which to start reading. the offset value is absolute. pass -1 to specify the current offset. NOTE: this parameter is ignored if the underlying stream does not implement nsISeekableStream.|
|aStreamLen||specifies how much data to read from the stream. pass -1 to read all data available in the stream.|
|aSegmentSize||if the stream transport service is used, then this parameter specifies the segment size for the stream transport's buffer. pass 0 to specify the default value.|
|aSegmentCount||if the stream transport service is used, then this parameter specifies the segment count for the stream transport's buffer. pass 0 to specify the default value.|
|aCloseWhenDone||if true, the input stream will be closed after it has been read.|
Indicates whether the request is pending.
nsIRequest::isPending is true when there is an outstanding asynchronous event that will make the request no longer be pending. Requests do not necessarily start out pending; in some cases, requests have to be explicitly initiated (e.g. nsIChannel implementations are only pending once asyncOpen returns successfully).
Requests can become pending multiple times during their lifetime.
Resumes the current request.
This may have the effect of re-opening any underlying transport and will resume the delivery of data to any open streams.
Suspends the current request.
This may have the effect of closing any underlying transport (in order to free up resources), although any open streams remain logically opened and will continue delivering data when the transport is resumed.
NOTE: some implementations are unable to immediately suspend, and may continue to deliver events already posted to an event queue. In general, callers should be capable of handling events even after suspending a request.
The following flags control the frequency of cached content validation when neither LOAD_BYPASS_CACHE or LOAD_FROM_CACHE are set.
By default, cached content is automatically validated if necessary before reuse.
VALIDATE_ALWAYS forces validation of any cached content independent of its expiration time.
VALIDATE_NEVER disables validation of expired content.
VALIDATE_ONCE_PER_SESSION disables validation of expired content, provided it has already been validated (at least once) since the start of this session.
NOTE TO IMPLEMENTORS: These flags are intended for normal browsing, and they should therefore not apply to content that must be validated before each use. Consider, for example, a HTTP response with a "Cache-control: no-cache" header. According to RFC2616, this response must be validated before it can be taken from a cache. Breaking this requirement could result in incorrect and potentially undesirable side-effects.