Package-level declarations

Types

Link copied to clipboard
object Fate

The entry point for logging: a shared FateRegistry and its root table.

Link copied to clipboard

A destination for logged values: a .fate file, a live stream, a test double.

Link copied to clipboard
interface FateEntry<T>

Where one path's values end up.

Link copied to clipboard

Records logged values to a FateLogWriter, one channel per path.

Link copied to clipboard
fun interface FateLoggable

An object that knows how to publish itself into a FateTable.

Link copied to clipboard
class FateRegistry @JvmOverloads constructor(val timeSource: TimeSource = TimeSource.Monotonic)

The set of FateBackends that logged values are routed to, plus the time source that stamps them.

Link copied to clipboard
class FateTable

A namespace of logged values: a path like Drive, whose entries are Drive/leftVelocity and so on, and whose children are tables like Drive/Odometry.

Link copied to clipboard
fun interface FateWarningHandler

Receives the warnings telemetry reports instead of throwing.

Link copied to clipboard

Keeps everything it is given, for tests that want to check what robot code logged.

Functions

Link copied to clipboard
inline fun <T : Any> Fate.log(name: String, value: T)

Logs value at name under the root table, inferring its schema from T's static type, type arguments included.

inline fun <T : Any> FateTable.log(name: String, value: T)

Logs value at name, inferring its schema from T's static type, type arguments included.