{"id":554,"date":"2009-09-08T17:14:06","date_gmt":"2009-09-08T21:14:06","guid":{"rendered":"http:\/\/benjamin.smedbergs.us\/blog\/?p=554"},"modified":"2009-09-08T17:17:58","modified_gmt":"2009-09-08T21:17:58","slug":"ipdl-the-inter-process-protocol-definition-language","status":"publish","type":"post","link":"http:\/\/benjamin.smedbergs.us\/blog\/2009-09-08\/ipdl-the-inter-process-protocol-definition-language\/","title":{"rendered":"IPDL: The Inter-Process Protocol Definition Language"},"content":{"rendered":"<p><a href=\"https:\/\/wiki.mozilla.org\/IPDL\">IPDL<\/a> is the language that Mozilla is using to describe all the messages between processes. Invented by <a href=\"http:\/\/blog.mozilla.com\/cjones\/\">Chris Jones<\/a>, the IPDL language makes it easier for us to write type-safe and secure code by generating a lot of the basic validation code involved with messages.<\/p>\n<p>When Chris was at Mozilla Headquarters a few weeks ago, he presented a tech-talk on IPDL which has been recorded and is available for <a href=\"http:\/\/videos.mozilla.org\/serv\/air_mozilla\/chrisjones-full.ogv\">download<\/a> or viewing:<\/p>\n<p><video controls><source src=\"http:\/\/videos.mozilla.org\/serv\/air_mozilla\/chrisjones-full.ogv\" type=\"video\/ogg\"><source src=\"http:\/\/videos.mozilla.org\/serv\/air_mozilla\/chrisjones-full.mov\" type=\"video\/quicktime\"><object type=\"video\/quicktime\" data=\"http:\/\/videos.mozilla.org\/serv\/air_mozilla\/chrisjones-full.mov\" autoplay=\"false\">Your browser\/feedreader\/feed aggregator does not support the video element or have the QuickTime plugin.<\/object><\/video><\/p>\n<p>In the presentation, Chris explains the motivations for IPDL, demonstrates basic usage, and answers many questions about the limitations and benefits of using IPDL. I encourage anyone who is interested in Mozilla&#8217;s Multi-Process work to watch the presentation.<\/p>\n<p>There are also some IPDL protocols in the tree if you&#8217;d like to read them: see <a href=\"http:\/\/hg.mozilla.org\/projects\/electrolysis\/file\/tip\/dom\/ipc\/\">the dom\/ipc directory in the Electrolysis branch<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>IPDL is the language that Mozilla is using to describe all the messages between processes. Invented by Chris Jones, the IPDL language makes it easier for us to write type-safe and secure code by generating a lot of the basic validation code involved with messages. When Chris was at Mozilla Headquarters a few weeks ago, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[221,213,220],"class_list":["post-554","post","type-post","status-publish","format-standard","hentry","category-mozilla","tag-cjones","tag-electrolysis","tag-ipdl"],"_links":{"self":[{"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/posts\/554","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/comments?post=554"}],"version-history":[{"count":8,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/posts\/554\/revisions"}],"predecessor-version":[{"id":562,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/posts\/554\/revisions\/562"}],"wp:attachment":[{"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/media?parent=554"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/categories?post=554"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/benjamin.smedbergs.us\/blog\/wp-json\/wp\/v2\/tags?post=554"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}