blob: c050fff39e50468f6e845cf84884d1bd229c76a0 [file] [log] [blame]
RoomModel CommunicationAndExecutionTypes {
import room.basic.types.int16
import room.basic.types.int32
import room.basic.types.uint32
DataClass AnotherSimpleDataClass {
Attribute attribute1: int16
Attribute attribute2: uint32
}
ProtocolClass EventdrivenProtocolClass1 [ "default is eventdriven" ] {
// explicit: eventdriven ProtocolClass EventdrivenProtocolClass {
incoming {
Message msg1() ["message without data"]
Message msg2(int32) ["message with data"]
}
outgoing {
Message msg4() ["eventdriven ProtocolClass can have message into two directions"]
}
}
datadriven ProtocolClass DatadrivenProtocolClass {
incoming {
Message signal1 (int32) ["a datadriven message needs data"]
}
// datadriven ProtocolClass can only have incoming messages (signals)
}
eventdriven ActorClass EventdrivenActor ["default is eventdriven"] {
// only event-driven Ports and ActorRefs allowed
}
datadriven ActorClass DatadrivenActor {
// only data-driven Ports and ActorRefs allowed
}
async ActorClass MixedActor {
// both data/event-driven Ports and ActorRefs allowed
}
}