ProtocolMessenger

abstract class ProtocolMessenger<T : ProtocolStateMachine<U>, U>(messageWrapper: MessageWrapper, createProtocolWhenNotActive: Boolean = true, signInitialMessage: Boolean = true, signFollowingMessages: Boolean = true, signAndEncryptFollowingMessages: Boolean = true, protocolRunManager: ProtocolRunManager<T, U> = ProtocolRunManager())(source)

Allows for multiplexing of several active runs of a message protocol

Inheritors

Constructors

Link copied to clipboard
constructor(messageWrapper: MessageWrapper, createProtocolWhenNotActive: Boolean = true, signInitialMessage: Boolean = true, signFollowingMessages: Boolean = true, signAndEncryptFollowingMessages: Boolean = true, protocolRunManager: ProtocolRunManager<T, U> = ProtocolRunManager())

Functions

Link copied to clipboard

Will be called by Apps to signal aborting a protocol run (Cleanup will happen in ProtocolRunManager)

Link copied to clipboard
suspend fun parseMessage(it: String): NextMessage

Parses an incoming message and tries to find a protocol instance that can handle it. May create a new protocol instance if createProtocolWhenNotActive is set.

Link copied to clipboard
Link copied to clipboard
suspend fun startDirect(): NextMessage