||This module is used to interact with the Windows BITS component (Background
Intelligent Transfer Service). This functionality cannot be used unless on
The reason for this file's existence is that the interfaces in nsIBits.idl
are asynchronous, but are unable to use Promises because they are implemented
in Rust, which does not yet support Promises. This file functions as a layer
between the Rust and the JS that provides access to the functionality
provided by nsIBits via Promises rather than callbacks.
||An interface for interacting with Windows Background Intelligent Transfer
Service. This should only be used on Windows.
It would be preferable for the functions in this interface to return
Promises, but this interface is implemented in Rust, which does not yet have
support for Promises. There is a JS wrapper around this class that should be
preferred over using this interface directly, located in Bits.jsm.
Methods of this class that take a nsIBitsNewRequestCallback do not return or
throw errors. All errors will be reported through the callback. The only
things that should cause methods to directly throw errors are null arguments.