CommitmentProtocolCleartextInterpreter

Commitment protocol interpreter for hosts holding the cleartext value.

Constructors

CommitmentProtocolCleartextInterpreter
Link copied to clipboard
fun CommitmentProtocolCleartextInterpreter(program: ProgramNode, protocolAnalysis: ProtocolAnalysis, runtime: ViaductProcessRuntime)

Types

HashedCellObject
Link copied to clipboard
inner class HashedCellObject(value: Hashed<Value>) : CommitmentProtocolCleartextInterpreter.HashedObject
HashedNullObject
Link copied to clipboard
HashedObject
Link copied to clipboard
abstract class HashedObject
HashedVectorObject
Link copied to clipboard
inner class HashedVectorObject(size: Int, defaultValue: Hashed<Value>) : CommitmentProtocolCleartextInterpreter.HashedObject

Functions

buildExpressionObject
Link copied to clipboard
open suspend override fun buildExpressionObject(expr: AtomicExpressionNode): CommitmentProtocolCleartextInterpreter.HashedObject
open suspend override fun buildExpressionObject(protocol: Protocol, expr: AtomicExpressionNode): CommitmentProtocolCleartextInterpreter.HashedObject
buildObject
Link copied to clipboard
open suspend override fun buildObject(className: ClassName, typeArguments: List<ValueType>, arguments: List<AtomicExpressionNode>): CommitmentProtocolCleartextInterpreter.HashedObject
open suspend override fun buildObject(protocol: Protocol, className: ClassName, typeArguments: List<ValueType>, arguments: List<AtomicExpressionNode>): CommitmentProtocolCleartextInterpreter.HashedObject
getContextMarker
Link copied to clipboard
open override fun getContextMarker(): Int
getNullObject
Link copied to clipboard
open override fun getNullObject(): CommitmentProtocolCleartextInterpreter.HashedObject
open override fun getNullObject(protocol: Protocol): CommitmentProtocolCleartextInterpreter.HashedObject
popContext
Link copied to clipboard
open suspend override fun popContext()
popFunctionContext
Link copied to clipboard
open suspend override fun popFunctionContext()
pushContext
Link copied to clipboard
open suspend override fun pushContext()
pushFunctionContext
Link copied to clipboard
open suspend override fun pushFunctionContext(arguments: PersistentMap<ParameterNode, Pair<Protocol, FunctionArgumentNode>>)
restoreContext
Link copied to clipboard
open suspend override fun restoreContext(marker: Int)
runGuard
Link copied to clipboard
open suspend override fun runGuard(expr: AtomicExpressionNode): Value
open suspend override fun runGuard(protocol: Protocol, expr: AtomicExpressionNode): Value
runLet
Link copied to clipboard
open suspend override fun runLet(stmt: LetNode)
open suspend override fun runLet(protocol: Protocol, stmt: LetNode)
runOutput
Link copied to clipboard
open suspend override fun runOutput(stmt: OutputNode)
open suspend override fun runOutput(protocol: Protocol, stmt: OutputNode)
runReceive
Link copied to clipboard
open suspend override fun runReceive(sender: LetNode, sendProtocol: Protocol, receiver: SimpleStatementNode, recvProtocol: Protocol, events: ProtocolCommunication)
runSend
Link copied to clipboard
open suspend override fun runSend(sender: LetNode, sendProtocol: Protocol, receiver: SimpleStatementNode, recvProtocol: Protocol, events: ProtocolCommunication)
runSimpleStatement
Link copied to clipboard
open suspend override fun runSimpleStatement(protocol: Protocol, stmt: SimpleStatementNode)
runUpdate
Link copied to clipboard
open suspend override fun runUpdate(stmt: UpdateNode)
open suspend override fun runUpdate(protocol: Protocol, stmt: UpdateNode)

Properties

availableProtocols
Link copied to clipboard
open override val availableProtocols: Set<Protocol>
program
Link copied to clipboard
val program: ProgramNode