Package-level declarations

Types

Link copied to clipboard

A server-side handshake in progress. Await with `Self::connect`.

Link copied to clipboard

A server-side handshake in progress. Await with `Self::connect`.

Link copied to clipboard

Callback invoked whenever the endpoint's `EndpointAddr` changes.

Link copied to clipboard

Callback invoked whenever the endpoint's `EndpointAddr` changes.

Link copied to clipboard

A bidirectional QUIC stream pair.

Link copied to clipboard

A bidirectional QUIC stream pair.

Link copied to clipboard
sealed class CallbackException
Link copied to clipboard

A client-side handshake in progress. Await with `Self::connect`.

Link copied to clipboard

A client-side handshake in progress. Await with `Self::connect`.

Link copied to clipboard

An active QUIC connection to a remote endpoint.

Link copied to clipboard

An active QUIC connection to a remote endpoint.

Link copied to clipboard
data class ConnectionStats(var udpTxDatagrams: Long, var udpTxBytes: Long, var udpRxDatagrams: Long, var udpRxBytes: Long, var lostPackets: Long, var lostBytes: Long)

Flat snapshot of the headline numbers from noq::ConnectionStats.

Link copied to clipboard
data class CounterStats(var value: UInt, var description: String)

A snapshot value for a single endpoint metric.

Link copied to clipboard
data class DiagnosticsSummary(var endpointId: String, var directAddrs: List<String>, var irohVersion: String, var irohServicesVersion: String, var hasNetReport: Boolean, var upnp: Boolean?, var pcp: Boolean?, var natPmp: Boolean?)

Flattened summary of an iroh_services::net_diagnostics::DiagnosticsReport.

Link copied to clipboard
interface Disposable
Link copied to clipboard

An iroh endpoint.

Link copied to clipboard

An endpoint's id together with the network-level addresses where it can be reached.

Link copied to clipboard

An endpoint's id together with the network-level addresses where it can be reached.

Link copied to clipboard

A mutable handle to an endpoint builder, handed to `Preset::apply`.

Link copied to clipboard

A mutable handle to an endpoint builder, handed to `Preset::apply`.

Link copied to clipboard

An endpoint's identifier, a 32-byte ed25519 public key.

Link copied to clipboard

An endpoint's identifier, a 32-byte ed25519 public key.

Link copied to clipboard

An iroh endpoint.

Link copied to clipboard
data class EndpointOptions(var preset: Preset? = null, var bindAddr: String? = null, var secretKey: ByteArray? = null, var alpns: List<ByteArray>? = null, var relayMode: RelayMode? = null, var protocols: Map<ByteArray, ProtocolCreator>? = null) : Disposable

Options passed to `Endpoint::bind`.

Link copied to clipboard

A token containing information for establishing a connection to an endpoint.

Link copied to clipboard

A token containing information for establishing a connection to an endpoint.

Link copied to clipboard

Callback invoked whenever the home-relay connection status list changes.

Link copied to clipboard

Callback invoked whenever the home-relay connection status list changes.

Link copied to clipboard

An incoming connection that has not yet begun its server-side handshake.

Link copied to clipboard
sealed class IncomingAddr : Disposable

Where an incoming connection came from.

Link copied to clipboard

An incoming connection that has not yet begun its server-side handshake.

Link copied to clipboard
sealed class IncomingLocalAddr

The local address that received an incoming connection.

Link copied to clipboard
class InternalException(message: String)
Link copied to clipboard

Android-specific iroh initialization. Apps must call installAndroidContext once during startup (typically from Application.onCreate or before constructing any Endpoint) so that iroh's DNS resolver can reach Android's `LinkProperties` via JNI.

Link copied to clipboard
Link copied to clipboard

An Error.

Link copied to clipboard

The logging level. See the rust (log crate)[https://docs.rs/log] for more information.

Link copied to clipboard

Callback invoked when a network-stack change is detected (interface up/down, roaming, etc.).

Link copied to clipboard

Callback invoked when a network-stack change is detected (interface up/down, roaming, etc.).

Link copied to clipboard

Callback for Connection::watch_paths — fires whenever the open-paths snapshot changes (path opens/closes/selection changes).

Link copied to clipboard

Callback for Connection::watch_paths — fires whenever the open-paths snapshot changes (path opens/closes/selection changes).

Link copied to clipboard
sealed class PathEvent

An event from Connection::path_events.

Link copied to clipboard

Callback for Connection::watch_path_events — fires for each individual path event.

Link copied to clipboard

Callback for Connection::watch_path_events — fires for each individual path event.

Link copied to clipboard
data class PathSnapshot(var id: String, var isSelected: Boolean, var remoteAddr: String, var isIp: Boolean, var isRelay: Boolean, var rttMs: ULong, var stats: PathStatsRecord)

A flat snapshot of an open path's state.

Link copied to clipboard
data class PathStatsRecord(var rttMs: ULong, var udpTxDatagrams: ULong, var udpTxBytes: ULong, var udpRxDatagrams: ULong, var udpRxBytes: ULong, var cwnd: ULong, var congestionEvents: ULong, var lostPackets: ULong, var lostBytes: ULong, var currentMtu: UInt)

Flattened headline numbers from noq::PathStats.

Link copied to clipboard
interface Preset

Configures a freshly created `EndpointBuilder`.

Link copied to clipboard

Configures a freshly created `EndpointBuilder`.

Link copied to clipboard
interface ProtocolCreator
Link copied to clipboard
interface ProtocolHandler
Link copied to clipboard

The incoming half of a QUIC stream.

Link copied to clipboard

The incoming half of a QUIC stream.

Link copied to clipboard
data class RelayConfig(var url: String, var quicPort: UShort? = null, var authToken: String? = null)

Config for a single relay server.

Link copied to clipboard

A collection of relay servers an endpoint should consider.

Link copied to clipboard

A collection of relay servers an endpoint should consider.

Link copied to clipboard

Configuration for which relay servers an endpoint uses.

Link copied to clipboard

Configuration for which relay servers an endpoint uses.

Link copied to clipboard

The secret key half of an endpoint identity.

Link copied to clipboard

The secret key half of an endpoint identity.

Link copied to clipboard

The outgoing half of a QUIC stream.

Link copied to clipboard

The outgoing half of a QUIC stream.

Link copied to clipboard

Client for services.iroh.computer.

Link copied to clipboard

Client for services.iroh.computer.

Link copied to clipboard
data class ServicesOptions(var apiSecret: String? = null, var apiSecretFromEnv: Boolean? = null, var sshKeyPem: String? = null, var name: String? = null, var metricsIntervalMs: ULong? = null)

Build options for `ServicesClient`.

Link copied to clipboard
enum Side : Enum<Side>

Which side of a connection we are.

Link copied to clipboard

An ed25519 signature over a message.

Link copied to clipboard

An ed25519 signature over a message.

Link copied to clipboard

Handle to a running watcher task. Drop it (or call `Self::stop`) to unregister the callback.

Link copied to clipboard

Handle to a running watcher task. Drop it (or call `Self::stop`) to unregister the callback.

Functions

Link copied to clipboard

The minimal preset (no external dependencies; good for tests / offline).

Link copied to clipboard

The n0 production preset (relays + discovery).

Link copied to clipboard

The n0 preset with relays disabled.

Link copied to clipboard
fun setLogLevel(level: LogLevel)

Set the logging level.