Public Member Functions

nsIInputStreamPump Interface Reference

nsIInputStreamPump More...

import "nsIInputStreamPump.idl";

Inheritance diagram for nsIInputStreamPump:
Collaboration diagram for nsIInputStreamPump:

List of all members.

Public Member Functions

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.

Detailed Description

nsIInputStreamPump

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.


Member Function Documentation

void nsIInputStreamPump::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.

Parameters:
aListener receives notifications.
aListenerContext passed to listener methods.
void nsIInputStreamPump::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.

Parameters:
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.

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