kotlinx-io
kotlinx-io copied to clipboard
Kotlin multiplatform I/O library
`kotlinx-io` provides only synchronous API at the moment. In some scenarios, an async API could be more convenient and useful, so it is worth supporting it. There is no particular...
Sometimes, data from a Buffer need to be partially copied into a byte array without consuming it from the buffer. The only way it could be achieved now is by...
Currently, Dokka configured separately in both [core](https://github.com/Kotlin/kotlinx-io/blob/develop/core/build.gradle.kts#L47) and [bytestring](https://github.com/Kotlin/kotlinx-io/blob/develop/bytestring/build.gradle.kts#L30) modules. And in each of these configs paths to files containing samples are listed explicitly. It would be nice to: -...
In some cases, it might be helpful to read from a source while a predicate is true instead of reading some fixed number of bytes. One example is reading a...
The build script could be cleaner with the default target hierarchy (https://kotlinlang.org/docs/whatsnew1820.html#new-approach-to-source-set-hierarchy). And it'll be enabled by default in the future: https://youtrack.jetbrains.com/issue/KT-58676
It is important to be able to construct buffer-like object with builder. In the ktor-io it was `ByteReadPacked{}`. Here, I suggest this: ```kotlin fun Buffer(block: Sink.() -> Unit): Buffer ```...
Currently (https://github.com/Kotlin/kotlinx-io/pull/136), kotlinx-io will only provide a bare minimum of extensions required for interop with Java-specific APIs: - functions to wrap `j.i.InputStream` and `j.n.ReadableByteChannel` into `Source`. - functions to wrap...
Currently, `RawSource::buffered`/`RawSink::buffered` always create a new Source/Sink even when invoked on Source/Sink instance. It's convenient for testing, and there are arguments why doing it differently may cause issues (https://github.com/Kotlin/kotlinx-io/pull/136#issuecomment-1604125718). However,...
Closes #292.
Despite being deprecated, it has not been removed and is provided in stdlib and kotlinx-serialization. It also makes sense to support it in kotlinx-io until it is deleted completely.