FileConnection

replication.FileConnection
class FileConnection[T](path: Path)(using x$2: JsonValueCodec[ProtocolMessage[T]]) extends LatentConnection[ProtocolMessage[T]]

Attributes

Graph
Supertypes
trait LatentConnection[ProtocolMessage[T]]
class Object
trait Matchable
class Any

Members list

Type members

Classlikes

class InnerConnection(peerFun: => Callback[ProtocolMessage[T]]) extends Connection[ProtocolMessage[T]]

Attributes

Supertypes
trait Connection[ProtocolMessage[T]]
class Object
trait Matchable
class Any

Value members

Concrete methods

def prepare(receiver: Receive[ProtocolMessage[T]]): Async[Abort, Connection[ProtocolMessage[T]]]

The returned async, when run, should establish connections with the given callback atomically. That is, no messages should be lost during setup. Similarly, the provider of the callback (the result of incoming) of this method should make sure that the other end of the callback is ready to receive callbacks before running the async.

The returned async, when run, should establish connections with the given callback atomically. That is, no messages should be lost during setup. Similarly, the provider of the callback (the result of incoming) of this method should make sure that the other end of the callback is ready to receive callbacks before running the async.

It is generally not assumed to be safe to run prepare twice (neither running a single async twice, nor running two different returned asyncs). Notably, “server” like implementations may try to bind a specific port, and immediately fail if that is not available.

The async may produce multiple connections and will run incomingHandler for each of them.

Attributes