jw
06/18/2022, 8:37 PMJeff Lockhart
06/20/2022, 4:30 PMByteArray
to NSData
with other platform type conversions.
I'd be happy to take a stab at implementing a solution. Just need to familiarize myself with the code first. Feel free to share any guidance or suggestions.java.io.InputStream
.jw
06/20/2022, 9:20 PMJeff Lockhart
06/20/2022, 9:27 PMBufferedSource.inputStream()
, but not Source.inputStream()
. Is that what you're referring to? Perhaps BufferedSource
is the appropriate unifying API for java.io.InputStream
and NSInputStream
.jw
06/20/2022, 9:45 PMJeff Lockhart
06/20/2022, 9:54 PMSource
, then in the platform implementations, call buffer().inputStream()
to convert to java.io.InputStream
or NSInputStream
.
Since the appleMain source set inherits BufferedSource
from the nonJvmMain source set, would it make sense to implement BufferedSource.inputStream(): NSInputStream
as an extension function?jw
06/20/2022, 10:10 PMJeff Lockhart
06/20/2022, 10:20 PMBufferedSource
would be non-trivial, which is what would allow it to work similar to the jvmMain implementation, adding the additional inputStream()
function to the interface.
Besides the default implementation route, I was also thinking how it could be nice for source sets to override an inherited actual declaration with their own more granular version.NSInputStream
instead of okio's Source
API. But it wouldn't be a strict requirement to provide such an API.BufferedSource.inputStream(): NSInputStream
.NSInputStream.source(): Source
. In this direction, you can actually avoid the data copy, as ByteArray
can be written to as a CPointer
.NSInputStream
additions on this branch. Let me know what you think. I can make a PR.jw
06/22/2022, 3:13 PMJeff Lockhart
06/22/2022, 8:37 PM