tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

nsIStreamTransportService.idl (1371B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 #include "nsISupports.idl"
      6 
      7 interface nsITransport;
      8 interface nsIInputStream;
      9 interface nsIOutputStream;
     10 interface nsIInputAvailableCallback;
     11 
     12 /**
     13 * This service read/writes a stream on a background thread.
     14 *
     15 * Note: instead of using this interface, probably you want to use
     16 * NS_MakeAsyncNonBlockingInputStream.
     17 *
     18 * Use this service to transform any blocking stream (e.g., file stream)
     19 * into a fully asynchronous stream that can be read/written without
     20 * blocking the main thread.
     21 */
     22 [builtinclass, scriptable, uuid(5e0adf7d-9785-45c3-a193-04f25a75da8f)]
     23 interface nsIStreamTransportService : nsISupports
     24 {
     25    /**
     26     * CreateInputTransport
     27     *
     28     * @param aStream
     29     *        The input stream that will be read on a background thread.
     30     *        This stream must implement "blocking" stream semantics.
     31     * @param aCloseWhenDone
     32     *        Specify this flag to have the input stream closed once its
     33     *        contents have been completely read.
     34     *
     35     * @return nsITransport instance.
     36     */
     37    nsITransport createInputTransport(in nsIInputStream aStream,
     38                                      in boolean aCloseWhenDone);
     39 };