Changes

Jump to: navigation, search

IPC Protocols

10 bytes added, 11:53, 15 May 2009
m
Implementation
Message handlers will be responsible for processing the received message (obviously) and also deciding which of the allowed states is transitioned to after processing. The generated protocol header will enforce protocol safety here. Lower-level enforcement of transport-layer properties, like not nesting asynchronous calls within synchronous handlers, can be enforced in a shared ProtocolBase class. '''TODO''': should these kinds of properties be global, or defined in protocol specs? What are all these properties? Deadlock avoidance is another, if we provide synchronous messages.
Protocol safety (only sending /receiving allowed messages from particular states) will be enforced by generating a finite-state machine in the protocol header, and checking sent/received messages against this state machine.
Very importantly, there will be an implicitly-defined ERROR state that occurs when an actor violates the protocol (or a type safety constraint). How this is handled is very much open to discussion.
Confirm
699
edits

Navigation menu