[Bug 23743] New: Divide "arraybuffer" StreamReadType into "arraybuffer/exact" and "arraybuffer"

https://www.w3.org/Bugs/Public/show_bug.cgi?id=23743

            Bug ID: 23743
           Summary: Divide "arraybuffer" StreamReadType into
                    "arraybuffer/exact" and "arraybuffer"
           Product: WebAppsWG
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Streams API
          Assignee: tyoshino@google.com
          Reporter: tyoshino@google.com
        QA Contact: public-webapps-bugzilla@w3.org
                CC: mike@w3.org, public-webapps@w3.org

The purpose of size argument of read() are
- allow user to get notified only when the specified size of data is available
and get it as one non-fragmented ArrayBufferView
- flow control. I.e. not to tell the producer to generate, receive from wire,
etc. too much

Current interface doesn't allow flow controlled consumption without specifying
size N which means until N bytes become available, we don't get the result.

read() without argument helps for this case, but it's unclear how many bytes
read() pulls. If we differentiate exact read and non-exact read mode, we can
give read() clearer semantics
- read() in exact mode: Prohibit?
- read(N) in exact mode: I can accept up to N bytes. tell me when exactly N
bytes are available
- read() in non-exact mode: tell me when any amount of data is available
- read(N) in non-exact mode: I can accept up to N bytes. tell me when any bytes
are available

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Received on Wednesday, 6 November 2013 17:47:41 UTC