/* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsIRequest.idl"
interface nsIInputStream;
interface nsISerialEventTarget;
interface nsIStreamListener;
/**
* nsIInputStreamPump
*
* This interface provides a means to configure and use a input stream pump
* instance . The input stream pump will asynchronously read from an input
* stream , and push data to an nsIStreamListener instance . It utilizes the
* current thread ' s nsIEventTarget in order to make reading from the stream
* asynchronous . A different thread can be used if the pump also implements
* nsIThreadRetargetableRequest .
*
* 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 .
*/
[scriptable, uuid(
400 F5468-
97 E7-
4 d2b-
9 C65-A82AECC7AE82)]
interface nsIInputStreamPump : nsIRequest
{
/**
* Initialize the input stream pump .
*
* @ param 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 .
* @ param 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 .
* @ param 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 .
* @ param aCloseWhenDone
* if true , the input stream will be closed after it has been read .
* @ param aMainThreadTarget
* a labeled main therad event target .
*/
void init(in nsIInputStream aStream,
in
unsigned long aSegmentSize,
in
unsigned long aSegmentCount,
in boolean aCloseWhenDone,
[optional] in nsISerialEventTarget aMainThreadTarget);
// Resets the inputstream and listener
void reset();
/**
* asyncRead causes the input stream to be read in chunks and delivered
* asynchronously to the listener via OnDataAvailable .
*
* @ param aListener
* receives notifications .
* @ param aListenerContext
* passed to listener methods .
*/
void asyncRead(in nsIStreamListener aListener);
};
Messung V0.5 in Prozent C=95 H=96 G=95
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-08-25)
¤
*© Formatika GbR, Deutschland