@UnstableApi
interface DataSink

Known direct subclasses
AesCipherDataSink

A wrapping DataSink that encrypts the data being consumed.

ByteArrayDataSink

A DataSink for writing to a byte array.

CacheDataSink

Writes data into a cache.

FailOnCloseDataSink

A DataSink that can simulate caching the bytes being written to it, and then failing to persist them when close is called.


A component to which streams of data can be written.

Summary

Nested types

A factory for DataSink instances.

Public functions

Unit

Closes the sink.

Unit
open(dataSpec: DataSpec!)

Opens the sink to consume the specified data.

Unit
write(buffer: ByteArray!, offset: Int, length: Int)

Consumes the provided data.

Public functions

close

fun close(): Unit

Closes the sink.

Note: This method must be called even if the corresponding call to open threw an IOException. See open for more details.

Throws
java.io.IOException

If an error occurs closing the sink.

open

fun open(dataSpec: DataSpec!): Unit

Opens the sink to consume the specified data.

Note: If an IOException is thrown, callers must still call close to ensure that any partial effects of the invocation are cleaned up.

Parameters
dataSpec: DataSpec!

Defines the data to be consumed.

Throws
java.io.IOException

If an error occurs opening the sink.

write

fun write(buffer: ByteArray!, offset: Int, length: Int): Unit

Consumes the provided data.

Parameters
buffer: ByteArray!

The buffer from which data should be consumed.

offset: Int

The offset of the data to consume in buffer.

length: Int

The length of the data to consume, in bytes.

Throws
java.io.IOException

If an error occurs writing to the sink.