IPDL/Getting started: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with 'IPDL is a domain-specific language that allows programmers to define a message-passing "protocol" between "actors." These "actors" are thread contexts, and they can execute both...')
 
m (Reverted edits by Firefoxer2011 (Talk) to last revision by Benjamin Smedberg)
 
(44 intermediate revisions by 6 users not shown)
Line 1: Line 1:
IPDL is a domain-specific language that allows programmers to define a message-passing "protocol" between "actors."  These "actors" are thread contexts, and they can execute both in separate address spaces or the same address space (share-nothing threads).  "Protocols" consist of two elements: declarations of messages that can be exchanged between two actors, and the definition of a state machine that describes when each message is allowed to be sent.
#REDIRECT [[MDC:IPDL/Getting Started]]
 
From an IPDL specification, several C++ headers are generated.  These headers are meant to be opaque to the author of an IPDL specification; internally, they manage the tedious details of setting up and tearing down the underlying communication layer (sockets and pipes), constructing and sending messages, ensuring that all actors adhere to their specifications, and "correctly" handling errors.
 
This guide intends to introduce the basic concepts of IPDL through an increasingly complicated example.  By the end of the guide, you should be able to write IPDL specs and the C++ implementations of message handlers.  This guide does not attempt to cover how IPDL works under the covers.
 
== Running example ==

Latest revision as of 21:51, 13 May 2010