diff --git a/index.html b/index.html index 80d236b..5d35cfa 100644 --- a/index.html +++ b/index.html @@ -1029,11 +1029,41 @@
[SecureContext, Exposed=(Window,Worker)] interface MIDIOutput : MIDIPort {
+ readonly attribute unsigned long sendQueueSize;
+ attribute EventHandler ondequeue;
undefined send(sequence<octet> data, optional DOMHighResTimeStamp timestamp = 0);
undefined clear();
};
+ The number of bytes remaining in the {{MIDIOutput}}'s queue
+ waiting to be sent by the underlying system. While the
+ underlying system is saturated (i.e. active send requests have
+ reached an implementation-specific maximum and the system is
+ temporarily not able to accept more work), additional calls to
+ {{MIDIOutput/send()}} are buffered in the queue and increase
+ {{MIDIOutput/sendQueueSize}} by the number of bytes in
+ data. Once the underlying system makes sufficient
+ progress on the current workload, it becomes unsaturated and
+ processes queued data, decreasing {{MIDIOutput/sendQueueSize}}
+ by the number of bytes sent.
+
+ This [=event handler=], of type "dequeue", MUST be supported by + all objects implementing the {{MIDIOutput}} interface. It is + called to signal a decrease in {{MIDIOutput/sendQueueSize}}. +
++ Increase {{MIDIOutput/sendQueueSize}} by the number of bytes in + data when the message is enqueued. When the + underlying system finishes sending the enqueued data + to the port, decrease {{MIDIOutput/sendQueueSize}} by the number + of bytes in data and [=fire an event=] named + "dequeue" at the {{MIDIOutput}}. +