Linux Mac OSX Windows

Implemented by


  
[scriptable, uuid(5a19ca27-e041-4aca-8287-eb248d4c50c0)]
interface nsIAsyncStreamCopier : nsIRequest

Methods

 asyncCopy triggers the start of the copy.  The observer will be notified
 when the copy completes.

 @param aObserver
        receives notifications.
 @param aObserverContext
        passed to observer methods.
void asyncCopy(in nsIRequestObserver aObserver, in nsISupports aObserverContext)
 Initialize the stream copier.

 @param aSource
        contains the data to be copied.
 @param aSink
        specifies the destination for the data.
 @param aTarget
        specifies the thread on which the copy will occur.  a null value
        is permitted and will cause the copy to occur on an unspecified
        background thread.
 @param aSourceBuffered
        true if aSource implements ReadSegments.
 @param aSinkBuffered
        true if aSink implements WriteSegments.
 @param aChunkSize
        specifies how many bytes to read/write at a time.  this controls
        the granularity of the copying.  it should match the segment size
        of the "buffered" streams involved.
 @param aCloseSource
        true if aSource should be closed after copying.
 @param aCloseSink
        true if aSink should be closed after copying.

 NOTE: at least one of the streams must be buffered.
void init(in nsIInputStream aSource, in nsIOutputStream aSink, in nsIEventTarget aTarget, in boolean aSourceBuffered, in boolean aSinkBuffered, in unsigned long aChunkSize, in boolean aCloseSource, in boolean aCloseSink)