Package edu.cornell.cs.apl.viaduct.backend

Types

AbstractProtocolInterpreter
Link copied to clipboard
abstract class AbstractProtocolInterpreter<Obj>(program: ProgramNode) : ProtocolInterpreter
BackendInterpreter
Link copied to clipboard
class BackendInterpreter(host: Host, program: ProgramNode, protocolAnalysis: ProtocolAnalysis, protocolInterpreters: List<ProtocolInterpreter>, runtime: ViaductProcessRuntime)
CommunicationMessage
Link copied to clipboard
sealed class CommunicationMessage : ViaductMessage
HostAddress
Link copied to clipboard
data class HostAddress(ipAddress: IpAddress, port: Port)
HostId
Link copied to clipboard
typealias HostId = Int
HostInfo
Link copied to clipboard
data class HostInfo(host: Host, id: HostId, address: HostAddress, recvChannel: Channel<ViaductMessage>, sendChannel: Channel<ViaductMessage>)
ImmutableCellObject
Link copied to clipboard
class ImmutableCellObject(value: Value) : PlaintextClassObject
IpAddress
Link copied to clipboard
typealias IpAddress = String
MutableCellObject
Link copied to clipboard
class MutableCellObject(value: Value) : PlaintextClassObject
NormalizeCounter
Link copied to clipboard
data class NormalizeCounter(inIndex: Int, inMap: MutableMap<Int, Int>, publicIndex: Int, publicMap: MutableMap<Int, Int>)
NullObject
Link copied to clipboard
object NullObject : PlaintextClassObject
ObjectLocation
Link copied to clipboard
typealias ObjectLocation = Int
PlaintextClassObject
Link copied to clipboard
sealed class PlaintextClassObject
PlaintextProtocolInterpreter
Link copied to clipboard
class PlaintextProtocolInterpreter(program: ProgramNode, protocols: Set<Protocol>, host: Host, runtime: ViaductRuntime) : AbstractProtocolInterpreter<PlaintextClassObject>
Port
Link copied to clipboard
typealias Port = Int
Process
Link copied to clipboard
typealias Process = ProtocolProjection
ProcessId
Link copied to clipboard
typealias ProcessId = Int
ProcessInfo
Link copied to clipboard
data class ProcessInfo(process: ProtocolProjection, id: ProcessId)
ProtocolBackend
Link copied to clipboard
interface ProtocolBackend
ProtocolInterpreter
Link copied to clipboard
interface ProtocolInterpreter
ReceiveMessage
Link copied to clipboard
data class ReceiveMessage(sender: ProcessId, receiver: ProcessId) : CommunicationMessage
SendMessage
Link copied to clipboard
data class SendMessage(sender: ProcessId, receiver: ProcessId, message: Value) : CommunicationMessage
ShutdownMessage
Link copied to clipboard
object ShutdownMessage : ViaductMessage
SingleProtocolInterpreter
Link copied to clipboard
abstract class SingleProtocolInterpreter<Obj>(program: ProgramNode, protocol: Protocol) : AbstractProtocolInterpreter<Obj>

Interpreter for a single protocol. This class is defined for convenience, so that the protocol argument on implemented methods isn't necessary.

VectorObject
Link copied to clipboard
class VectorObject(size: Int, defaultValue: Value) : PlaintextClassObject
ViaductBackend
Link copied to clipboard
class ViaductBackend(backends: List<ProtocolBackend>, customConnectionInfo: Map<Host, HostAddress>)
ViaductMessage
Link copied to clipboard
sealed class ViaductMessage
ViaductProcessRuntime
Link copied to clipboard
class ViaductProcessRuntime(runtime: ViaductRuntime, projection: ProtocolProjection)
ViaductRuntime
Link copied to clipboard
class ViaductRuntime(host: Host, program: ProgramNode, protocolAnalysis: ProtocolAnalysis, hostConnectionInfo: Map<Host, HostAddress>, backends: List<ProtocolBackend>, strategy: Strategy)
WireConst
Link copied to clipboard
data class WireConst(index: Int, v: Int) : WireTerm
WireDummyIn
Link copied to clipboard
data class WireDummyIn(index: Int, hash: List<Byte>, nonce: List<Byte>) : WireTerm
WireGenerator
Link copied to clipboard
class WireGenerator
WireIn
Link copied to clipboard
data class WireIn(v: Int, index: Int, hash: List<Byte>, nonce: List<Byte>) : WireTerm
WireOp
Link copied to clipboard
data class WireOp(op: Operator, inputs: List<WireTerm>) : WireTerm
WireTerm
Link copied to clipboard
sealed class WireTerm

Functions

asPrettyPrintable
Link copied to clipboard
fun String.asPrettyPrintable(): PrettyPrintable
asString
Link copied to clipboard
fun WireTerm.asString(): String
eval
Link copied to clipboard
fun WireTerm.eval(): Int
hash
Link copied to clipboard
fun WireTerm.hash(): String
normalize
Link copied to clipboard
fun WireTerm.normalize(counter: NormalizeCounter): WireTerm
wireName
Link copied to clipboard
fun WireTerm.wireName(): String