- From: Takeshi Yoshino <notifications@github.com>
- Date: Fri, 29 May 2015 05:04:14 -0700
- To: whatwg/streams <streams@noreply.github.com>
- Message-ID: <whatwg/streams/issues/359@github.com>
Potential targets of optimization - TextEncodingTransformByteStream - IdentityTransformByteStream - BufferingTransformByteStream - ByteCountingIdentityTransformByteStream - The wrapper is not a pure identify transform but with observation functionality. - In https://github.com/yutakahirano/fetch-with-streams/issues/37#issuecomment-105512434, use of a wrapper is proposed for counting the number of bytes consumed from a Request/Response. ## Skipping JS processing between a ReadableByteStream and a WritableByteStream Skip JS code invocation (write(), read(), etc.) and does the following internally. ### Sink exposes a memory region for write 1. destMemory = sink.getMemoryToWrite() 1. source.generate(destMemory) 1. sink.notifyWritten() ### Source exposes a memory region where data for consuming is stored 1. sourceMemory = source.getMemoryToRead() 1. sink.consume(sourceMemory) 1. source.notifyConsumed() ### Both takes memory 1. tempMemory = allocate() 1. source.generate(tempMemory) 1. sink.consume(tempMemory) ### sendfile(2) style 1. transfer(lowerLayerSourceDescriptor, lowerLayerSinkDescriptor) ## Skipping an "identity" transform byte streams completely ``` a.pipeTo(id, options0); id.pipeTo(b. options1); ``` Issues: - Thread-safety: `a.pipeTo(id)` and `id.pipeTo(b)` may happen in different threads. - How to observe bytes for ByteCountingIdentityTransformByteStream? --- Reply to this email directly or view it on GitHub: https://github.com/whatwg/streams/issues/359
Received on Friday, 29 May 2015 12:04:41 UTC