A has a processed flag which is initially false. This flag is set to true when the operation associated with the request has been executed.

    A request is said to be processed when its is true.

    A request has a done flag which is initially false. This flag is set to true when the result of the operation associated with the request is available.

    A has a source object.

    A request has a transaction which is initially null. This will be set when a request is placed against a using the steps to asynchronously execute a request.

    When a request is made, a new is returned with its done flag set to false. If a request completes successfully, its is set to true, its result is set to the result of the request, and an event with type is fired at the .

    If an error occurs while performing the operation, the request’s done flag is set to true, the request’s is set to the error, and an event with type error is fired at the request.

    A request‘s algorithm returns the request’s transaction.

    2.8.1. Open requests

    An open request is a special type of used when opening a connection or deleting a . In addition to success and events, blocked and events may be fired at an open request to indicate progress.

    The of an open request is always null.

    The of an open request is null unless an event has been fired.

    An open request‘s algorithm returns null.

    A connection queue is not a associated with an event loop, as the requests are processed outside any specific . The delivery of events to completed open request still goes through a associated with the event loop of the context where the request was made.