Linux Mac OSX Windows

Implemented by

 This service read/writes a stream on a background thread.

 Use this service to transform any blocking stream (e.g., file stream)
 into a fully asynchronous stream that can be read/written without 
 blocking the main thread.
[scriptable, uuid(8268d474-efbf-494f-a152-e8a8616f4e52)]
interface nsIStreamTransportService : nsISupports

Methods

 CreateInputTransport

 @param aStream
        The input stream that will be read on a background thread.
        This stream must implement "blocking" stream semantics.
 @param aStartOffset
        The input stream will be read starting from this offset.  Pass
        -1 to read from the current stream offset.  NOTE: this parameter
        is ignored if the stream does not support nsISeekableStream.
 @param aReadLimit
        This parameter limits the number of bytes that will be read from
        the input stream.  Pass -1 to read everything.
 @param aCloseWhenDone
        Specify this flag to have the input stream closed once its
        contents have been completely read.

 @return nsITransport instance.
nsITransport createInputTransport(in nsIInputStream aStream, in long long aStartOffset, in long long aReadLimit, in boolean aCloseWhenDone)
 CreateOutputTransport

 @param aStream
        The output stream that will be written to on a background thread.
        This stream must implement "blocking" stream semantics.
 @param aStartOffset
        The output stream will be written starting at this offset.  Pass
        -1 to write to the current stream offset.  NOTE: this parameter
        is ignored if the stream does not support nsISeekableStream.
 @param aWriteLimit
        This parameter limits the number of bytes that will be written to
        the output stream.  Pass -1 for unlimited writing.
 @param aCloseWhenDone
        Specify this flag to have the output stream closed once its
        contents have been completely written.

 @return nsITransport instance.
nsITransport createOutputTransport(in nsIOutputStream aStream, in long long aStartOffset, in long long aWriteLimit, in boolean aCloseWhenDone)