An interface describing a writable stream of data. An output stream may be "blocking" or "non-blocking" (see the IsNonBlocking method). A blocking output stream may suspend the calling thread in order to satisfy a call to Close, Flush, Write, WriteFrom, or WriteSegments. A non-blocking output stream, on the other hand, must not block the calling thread of execution.
NOTE: blocking output streams are often written to on a background thread to avoid locking up the main application thread. For this reason, it is generally the case that a blocking output stream should be implemented using thread- safe AddRef and Release.
Public Member Functions
|unsigned long||write (in string aBuf, in unsigned long aCount)|
|unsigned long||writeFrom (in nsIInputStream aFromStream, in unsigned long aCount)|
|unsigned long||writeSegments (in nsReadSegmentFun aReader, in voidPtr aClosure, in unsigned long aCount)|
|NS_IMETHOD_ (nsrefcnt) Release(void)=0|
|NS_IMETHOD_ (nsrefcnt) AddRef(void)=0|
|NS_IMETHOD||QueryInterface (REFNSIID aIID, void **aInstancePtr)=0|