Package-level declarations

Types

Link copied to clipboard
sealed class FateLogEntry

One entry read from a log.

Link copied to clipboard

Reads logs written by FateLogWriter, one entry at a time.

Link copied to clipboard
class FateLogWriter @JvmOverloads constructor(val sink: FateSink, val timeSource: TimeSource = TimeSource.Monotonic) : AutoCloseable

Writes a FateWeaver log to a FateSink. A log holds any number of typed channels.

Link copied to clipboard

Receives the bytes a FateLogWriter produces.

Link copied to clipboard
interface LogChannel<T>

A named stream of typed data within a FateWeaver log.

Link copied to clipboard
class MultiSink(sinks: List<FateSink>) : FateSink

Sends every entry to each of sinks, in order.

Link copied to clipboard
class StreamSink(val stream: OutputStream) : FateSink

Writes every entry to stream as is, whatever its kind.

Properties

Link copied to clipboard
const val MAGIC: String

Magic bytes that identify a FateWeaver log file.

Link copied to clipboard

Header versions this library can read.

Link copied to clipboard
const val VERSION: Short = 3

Version number written into the header of new FateWeaver logs.

Functions

Link copied to clipboard
inline fun <T : Any> FateLogWriter.write(channelName: String, obj: T)

Writes an object to a channel identified by name, inferring the schema from T, type arguments included.