blob: c2b92f6041fb40946f4cd1aaf510afa7f1196b24 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta charset="UTF-8" />
<title>SMILA/Project Concepts/ConnectivityMessageInterface - Eclipsepedia</title>
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<meta name="generator" content="MediaWiki 1.23.2" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/eclipse.org-common/themes/solstice/public/images/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (en)" />
<link rel="EditURI" type="application/rsd+xml" href="http://wiki.eclipse.org/api.php?action=rsd" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom feed" href="http://wiki.eclipse.org/index.php?title=Special:RecentChanges&amp;feed=atom" />
<link rel="stylesheet" href="http://wiki.eclipse.org/load.php?debug=false&amp;lang=en&amp;modules=mediawiki.legacy.commonPrint%2Cshared%7Cmediawiki.ui.button&amp;only=styles&amp;skin=solstice&amp;*" />
<link rel="stylesheet" href="http://wiki.eclipse.org/skins/solstice/public/stylesheets/styles.min.css?303" media="screen, print" /><meta name="ResourceLoaderDynamicStyles" content="" />
<style>a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}
/* cache key: my_wiki:resourceloader:filter:minify-css:7:14ece53a42aa314864e5fd8c57f0d98f */</style>
<script src="http://wiki.eclipse.org/load.php?debug=false&amp;lang=en&amp;modules=startup&amp;only=scripts&amp;skin=solstice&amp;*"></script>
<script>if(window.mw){
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"SMILA/Project_Concepts/ConnectivityMessageInterface","wgTitle":"SMILA/Project Concepts/ConnectivityMessageInterface","wgCurRevisionId":113298,"wgRevisionId":113298,"wgArticleId":15226,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":[],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"SMILA/Project_Concepts/ConnectivityMessageInterface","wgIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgWikiEditorEnabledModules":{"toolbar":false,"dialogs":false,"hidesig":true,"preview":false,"previewDialog":false,"publish":false},"wgCategoryTreePageCategoryOptions":"{\"mode\":0,\"hideprefix\":20,\"showcount\":true,\"namespaces\":false}"});
}</script><script>if(window.mw){
mw.loader.implement("user.options",function($,jQuery){mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"editfont":"default","editondblclick":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":1,"extendwatchlist":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"imagesize":2,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nickname":"","norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"rcdays":7,"rclimit":50,"rows":25,"showhiddencats":0,"shownumberswatching":1,"showtoolbar":1,"skin":"solstice","stubthreshold":0,"thumbsize":2,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":1,"watchdefault":1,"watchdeletion":0,"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"wllimit":250,
"useeditwarning":1,"prefershttps":1,"language":"en","variant-gan":"gan","variant-iu":"iu","variant-kk":"kk","variant-ku":"ku","variant-shi":"shi","variant-sr":"sr","variant-tg":"tg","variant-uz":"uz","variant-zh":"zh","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"variant":"en"});},{},{});mw.loader.implement("user.tokens",function($,jQuery){mw.user.tokens.set({"editToken":"+\\","patrolToken":false,"watchToken":false});},{},{});
/* cache key: my_wiki:resourceloader:filter:minify-js:7:70d74423d3fc1e1c18fa9a1ff645a84a */
}</script>
<script>if(window.mw){
mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","mediawiki.legacy.ajax"]);
}</script>
<style type="text/css">/*<![CDATA[*/
.source-java {line-height: normal;}
.source-java li, .source-java pre {
line-height: normal; border: 0px none white;
}
/**
* GeSHi Dynamically Generated Stylesheet
* --------------------------------------
* Dynamically generated stylesheet for java
* CSS class: source-java, CSS id:
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
* --------------------------------------
*/
.java.source-java .de1, .java.source-java .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.java.source-java {font-family:monospace;}
.java.source-java .imp {font-weight: bold; color: red;}
.java.source-java li, .java.source-java .li1 {font-weight: normal; vertical-align:top;}
.java.source-java .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.java.source-java .li2 {font-weight: bold; vertical-align:top;}
.java.source-java .kw1 {color: #7F0055; font-weight: bold;}
.java.source-java .kw2 {color: #7F0055; font-weight: bold;}
.java.source-java .kw3 {color: #000000; font-weight: normal}
.java.source-java .kw4 {color: #7F0055; font-weight: bold;}
.java.source-java .co1 {color: #3F7F5F; font-style: italic;}
.java.source-java .co2 {color: #3F7F5F;}
.java.source-java .co3 {color: #3F7F5F; font-style: italic; font-weight: bold;}
.java.source-java .coMULTI {color: #3F5FBF; font-style: italic;}
.java.source-java .es0 {color: #000000;}
.java.source-java .br0 {color: #000000;}
.java.source-java .sy0 {color: #000000;}
.java.source-java .st0 {color: #2A00ff;}
.java.source-java .nu0 {color: #000000;}
.java.source-java .me1 {color: #000000;}
.java.source-java .me2 {color: #000000;}
.java.source-java .ln-xtra, .java.source-java li.ln-xtra, .java.source-java div.ln-xtra {background-color: #ffc;}
.java.source-java span.xtra { display:block; }
/*]]>*/
</style><style type="text/css">/*<![CDATA[*/
.source-xml {line-height: normal;}
.source-xml li, .source-xml pre {
line-height: normal; border: 0px none white;
}
/**
* GeSHi Dynamically Generated Stylesheet
* --------------------------------------
* Dynamically generated stylesheet for xml
* CSS class: source-xml, CSS id:
* GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
* (http://qbnz.com/highlighter/ and http://geshi.org/)
* --------------------------------------
*/
.xml.source-xml .de1, .xml.source-xml .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.xml.source-xml {font-family:monospace;}
.xml.source-xml .imp {font-weight: bold; color: red;}
.xml.source-xml li, .xml.source-xml .li1 {font-weight: normal; vertical-align:top;}
.xml.source-xml .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.xml.source-xml .li2 {font-weight: bold; vertical-align:top;}
.xml.source-xml .es0 {color: #000099; font-weight: bold;}
.xml.source-xml .br0 {color: #66cc66;}
.xml.source-xml .sy0 {color: #66cc66;}
.xml.source-xml .st0 {color: #ff0000;}
.xml.source-xml .nu0 {color: #cc66cc;}
.xml.source-xml .sc-1 {color: #808080; font-style: italic;}
.xml.source-xml .sc0 {color: #00bbdd;}
.xml.source-xml .sc1 {color: #ddbb00;}
.xml.source-xml .sc2 {color: #339933;}
.xml.source-xml .sc3 {color: #009900;}
.xml.source-xml .re0 {color: #000066;}
.xml.source-xml .re1 {color: #000000; font-weight: bold;}
.xml.source-xml .re2 {color: #000000; font-weight: bold;}
.xml.source-xml .ln-xtra, .xml.source-xml li.ln-xtra, .xml.source-xml div.ln-xtra {background-color: #ffc;}
.xml.source-xml span.xtra { display:block; }
/*]]>*/
</style><meta name="viewport" content="width=device-width, initial-scale=1.0"></head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-SMILA_Project_Concepts_ConnectivityMessageInterface skin-solstice action-view" id="solstice">
<a class="sr-only" href="ConnectivityMessageInterface.html#content">Skip to main content</a>
<div class="thin-header">
<header role="banner" class="hidden-print noprint">
<div class="container-fluid">
<div id="row-logo-search">
<div id="header-left">
<div class="row">
<div class="hidden-xs col-sm-6 logo-container">
<a href="https://www.eclipse.org/" ><img class="logo-eclipse-default" src="http://wiki.eclipse.org/skins/solstice/public/images/logo/eclipse-800x188.png" alt="Eclipsepedia"></a>
</div>
<div class="navbar col-sm-18 yamm" id="main-menu">
<div class="navbar-collapse collapse" id="navbar-collapse-1">
<ul class="nav navbar-nav">
<li><a target="_self" href="https://eclipse.org/downloads/">Download</a></li>
<li><a target="_self" href="https://eclipse.org/users/">Getting Started </a></li>
<li><a target="_self" href="https://eclipse.org/membership/">Members</a></li>
<li><a target="_self" href="https://eclipse.org/projects/">Projects</a></li>
<li class="dropdown visible-xs"><a class="dropdown-toggle" data-toggle="dropdown" href="ConnectivityMessageInterface.html#">Community <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="http://marketplace.eclipse.org">Marketplace</a></li><li><a href="http://events.eclipse.org">Events</a></li><li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li><li><a href="https://eclipse.org/community/eclipse_newsletter/">Newsletter</a></li><li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li></ul></li><li class="dropdown visible-xs"><a class="dropdown-toggle" data-toggle="dropdown" href="ConnectivityMessageInterface.html#">Participate <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li><li><a href="https://eclipse.org/forums/">Forums</a></li><li><a href="https://eclipse.org/mail/">Mailing Lists</a></li><li><a href="https://wiki.eclipse.org/">Wiki</a></li><li><a href="https://wiki.eclipse.org/IRC">IRC</a></li><li><a href="https://eclipse.org/contribute/">How to Contribute</a></li></ul></li><li class="dropdown visible-xs"><a class="dropdown-toggle" data-toggle="dropdown" href="ConnectivityMessageInterface.html#">Working Groups <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="http://wiki.eclipse.org/Auto_IWG">Automotive</a></li><li><a href="http://iot.eclipse.org">Internet of Things</a></li><li><a href="http://locationtech.org">LocationTech</a></li><li><a href="http://lts.eclipse.org">Long-Term Support</a></li><li><a href="http://polarsys.org">PolarSys</a></li><li><a href="http://science.eclipse.org">Science</a></li><li><a href="http://openmdm.org">OpenMDM</a></li></ul></li><!-- More -->
<li class="dropdown hidden-xs"><a class="dropdown-toggle" data-toggle="dropdown">More<b class="caret"></b></a>
<ul class="dropdown-menu">
<li>
<!-- Content container to add padding -->
<div class="yamm-content">
<div class="row">
<ul class="col-sm-8 list-unstyled"><li><p><strong>Community</strong></p></li><li><a href="http://marketplace.eclipse.org">Marketplace</a></li><li><a href="http://events.eclipse.org">Events</a></li><li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li><li><a href="https://eclipse.org/community/eclipse_newsletter/">Newsletter</a></li><li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li></ul><ul class="col-sm-8 list-unstyled"><li><p><strong>Participate</strong></p></li><li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li><li><a href="https://eclipse.org/forums/">Forums</a></li><li><a href="https://eclipse.org/mail/">Mailing Lists</a></li><li><a href="https://wiki.eclipse.org/">Wiki</a></li><li><a href="https://wiki.eclipse.org/IRC">IRC</a></li><li><a href="https://eclipse.org/contribute/">How to Contribute</a></li></ul><ul class="col-sm-8 list-unstyled"><li><p><strong>Working Groups</strong></p></li><li><a href="http://wiki.eclipse.org/Auto_IWG">Automotive</a></li><li><a href="http://iot.eclipse.org">Internet of Things</a></li><li><a href="http://locationtech.org">LocationTech</a></li><li><a href="http://lts.eclipse.org">Long-Term Support</a></li><li><a href="http://polarsys.org">PolarSys</a></li><li><a href="http://science.eclipse.org">Science</a></li><li><a href="http://openmdm.org">OpenMDM</a></li></ul> </div>
</div>
</li>
</ul>
</li>
</ul>
</div>
<div class="navbar-header">
<button data-target="#navbar-collapse-1" data-toggle="collapse" class="navbar-toggle" type="button">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a href="https://www.eclipse.org/" class="visible-xs navbar-brand"><img class="logo-eclipse-default" src="http://wiki.eclipse.org/skins/solstice/public/images/logo/eclipse-800x188.png" alt="Eclipsepedia" width="174"></a>
</div>
</div>
</div>
</div>
</div>
</div>
</header>
<section class="defaut-breadcrumbs hidden-print noprint hidden-print clearfix" id="breadcrumb">
<div>
<ol class="breadcrumb">
<li><a href="https://www.eclipse.org/">Home</a></li>
<li><a href="http://wiki.eclipse.org/Main_Page">Eclipse Wiki</a></li>
<li class="active">SMILA/Project Concepts/ConnectivityMessageInterface</li></ol>
</div>
</section>
</div>
<div class="toolbar-menu breadcrumbs-offset noprint hidden-print margin-bottom-0 clearfix">
<div class="col-md-24">
<ol class="breadcrumb" role="navigation">
<li id="pt-login">
<a href="http://wiki.eclipse.org/index.php?title=Special:UserLogin&amp;returnto=SMILA%2FProject+Concepts%2FConnectivityMessageInterface">
<i class="fa fa-sign-in fa-fw orange"></i> Log in </a>
</li>
</ul>
</div>
</div>
<main role="main" class="background-grey">
<div class="container-full padding-top-25">
<!-- content -->
<section id="content" class="mw-body container-full clearfix 0">
<div id="mw-js-message" style="display:none;"></div>
<!-- bodyContent -->
<div id="bodyContent">
<!-- jumpto -->
<div id="jump-to-nav" class="mw-jump">
Jump to: <a href="ConnectivityMessageInterface.html#mw-head">navigation</a>,
<a href="ConnectivityMessageInterface.html#p-search">search</a>
</div>
<!-- /jumpto -->
<!-- leftcol -->
<aside class="col-md-4 noprint hidden-print" id="leftcol">
<form class="input-group" role="form" id="form-eclipse-search" action="http://wiki.eclipse.org/index.php" id="searchform">
<input id="searchInput" class="search-query form-control" type="search" accesskey="f" title="Special:Search" placeholder="Search" name="search" value="">
<span class="input-group-btn">
<button value="search" id="mw-searchButton" type="submit" class="btn btn-default" title="Search the pages for this text" name="fulltext">
<i class="fa fa-search"></i>
</button>
</span>
</form>
<select class="form-control margin-top-10 margin-bottom-10 visible-xs visible-sm" onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);"><option class="fw-700 "><span class="fw-700">---Navigation---</span></option><option value="/Main_Page">Main Page</option><option value="/Eclipsepedia:Community_portal">Community portal</option><option value="/Eclipsepedia:Current_events">Current events</option><option value="/Special:RecentChanges">Recent changes</option><option value="/Special:Random">Random page</option><option value="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents">Help</option></select><ul class="ul-left-nav fa-ul hidden-print leftnav hidden-xs hidden-sm"><li class="separator"><span class="separator">Navigation</span></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Main_Page" id="n-mainpage" title="Visit the main page [z]" accesskey="z">Main Page</a></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Eclipsepedia:Community_portal" id="n-portal" title="About the project, what you can do, where to find things">Community portal</a></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Eclipsepedia:Current_events" id="n-currentevents" title="Find background information on current events">Current events</a></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:RecentChanges" id="n-recentchanges" title="A list of recent changes in the wiki [r]" accesskey="r">Recent changes</a></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:Random" id="n-randompage" title="Load a random page [x]" accesskey="x">Random page</a></li> <li class=""><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents" id="n-help" title="The place to find out">Help</a></li></ul> <select class="form-control margin-top-10 margin-bottom-10 visible-xs visible-sm" onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);"><option class="fw-700 "><span class="fw-700">---Toolbox---</span></option><option value="/index.php?title=SMILA/Project_Concepts/ConnectivityMessageInterface&amp;action=info">Page information</option><option value="/index.php?title=SMILA/Project_Concepts/ConnectivityMessageInterface&amp;oldid=113298">Permanent link</option><option value="/index.php?title=SMILA/Project_Concepts/ConnectivityMessageInterface&amp;printable=yes">Printable version</option><option value="/Special:SpecialPages">Special pages</option><option value="/Special:RecentChangesLinked/SMILA/Project_Concepts/ConnectivityMessageInterface">Related changes</option><option value="/Special:WhatLinksHere/SMILA/Project_Concepts/ConnectivityMessageInterface">What links here</option></select><ul class="ul-left-nav fa-ul hidden-print leftnav hidden-xs hidden-sm"><li class="separator"><span class="separator">Toolbox</span></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/ConnectivityMessageInterface&amp;action=info" id="t-info">Page information</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/ConnectivityMessageInterface&amp;oldid=113298" id="t-permalink" title="Permanent link to this revision of the page">Permanent link</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/ConnectivityMessageInterface&amp;printable=yes" id="t-print" rel="alternate" title="Printable version of this page [p]" accesskey="p">Printable version</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:SpecialPages" id="t-specialpages" title="A list of all special pages [q]" accesskey="q">Special pages</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:RecentChangesLinked/SMILA/Project_Concepts/ConnectivityMessageInterface" id="t-recentchangeslinked" title="Recent changes in pages linked from this page [k]" accesskey="k">Related changes</a></li><li><i class="fa fa-angle-double-right orange fa-fw"></i> <a href="http://wiki.eclipse.org/Special:WhatLinksHere/SMILA/Project_Concepts/ConnectivityMessageInterface" id="t-whatlinkshere" title="A list of all wiki pages that link here [j]" accesskey="j">What links here</a></li></ul> </aside>
<!-- /leftcol -->
<!-- mainContent -->
<div id="mainContent" class="col-md-20">
<ul class="nav nav-tabs noprint hidden-print" role="tablist">
<li id="ca-nstab-main" class="active"><a href="ConnectivityMessageInterface.html" title="View the content page [c]" accesskey="c" tabindex="-1">Page</a></li>
<li id="ca-talk" class="new"><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Project_Concepts/ConnectivityMessageInterface&amp;action=edit&amp;redlink=1" title="Discussion about the content page [t]" accesskey="t" tabindex="-1">Discussion</a></li>
<li id="ca-viewsource"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/ConnectivityMessageInterface&amp;action=edit" title="This page is protected.&#10;You can view its source [e]" accesskey="e" tabindex="-1">View source</a></li>
<li id="ca-history" class="collapsible"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/ConnectivityMessageInterface&amp;action=history" title="Past revisions of this page [h]" accesskey="h" tabindex="-1">History</a></li>
</ul> <div class="tab-content background-white">
<div id="tab-pane-main-page-content" class="tab-pane active">
<h1 id="firstHeading" class="firstHeading page-header">
<span dir="auto">SMILA/Project Concepts/ConnectivityMessageInterface</span>
</h1>
<div id="main-page-content">
<!-- subtitle -->
<div id="contentSub" class="alert alert-small alert-warning"><span class="subpages">&lt; <a href="../../SMILA.html" title="SMILA">SMILA</a>&lrm; | <a href="../Project_Concepts.1.html" title="SMILA/Project Concepts">Project Concepts</a></span></div>
<!-- /subtitle -->
<div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div id="toc" class="toc"><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href="ConnectivityMessageInterface.html#Description"><span class="tocnumber">1</span> <span class="toctext">Description</span></a></li>
<li class="toclevel-1 tocsection-2"><a href="ConnectivityMessageInterface.html#Technical_proposal"><span class="tocnumber">2</span> <span class="toctext">Technical proposal</span></a>
<ul>
<li class="toclevel-2 tocsection-3"><a href="ConnectivityMessageInterface.html#Interface"><span class="tocnumber">2.1</span> <span class="toctext">Interface</span></a></li>
<li class="toclevel-2 tocsection-4"><a href="ConnectivityMessageInterface.html#Message_Objects"><span class="tocnumber">2.2</span> <span class="toctext">Message Objects</span></a></li>
<li class="toclevel-2 tocsection-5"><a href="ConnectivityMessageInterface.html#MessageItem_Structure"><span class="tocnumber">2.3</span> <span class="toctext">MessageItem Structure</span></a></li>
<li class="toclevel-2 tocsection-6"><a href="ConnectivityMessageInterface.html#Utilities"><span class="tocnumber">2.4</span> <span class="toctext">Utilities</span></a></li>
<li class="toclevel-2 tocsection-7"><a href="ConnectivityMessageInterface.html#Message_Objects_vs_plain_XML_Messaging"><span class="tocnumber">2.5</span> <span class="toctext">Message Objects vs plain XML Messaging</span></a></li>
</ul>
</li>
</ul>
</div>
<h2><span class="mw-headline" id="Description">Description</span></h2>
<p>This is an alternative concept for the Connectivity Interface. It does not use a traditional structured API but a message like approach.
Attached is a sample implementation that illustrates the usage: [^ConnectivityInterface.zip].
</p>
<h2><span class="mw-headline" id="Technical_proposal">Technical proposal</span></h2>
<h3><span class="mw-headline" id="Interface">Interface</span></h3>
<p>The interface has only one method that processes the incoming message and creates a response message.
</p>
<div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="java source-java"><pre class="de1"> <span class="kw1">public</span> <span class="kw1">class</span> ConnectivityManager
<span class="br0">&#123;</span>
Message process<span class="br0">&#40;</span>Message msg<span class="br0">&#41;</span> <span class="kw1">throws</span> <span class="kw3">Exception</span>
<span class="br0">&#125;</span></pre></div></div>
<p><br />
</p>
<h3><span class="mw-headline" id="Message_Objects">Message Objects</span></h3>
<p>A Message can be either a REQUEST to Connectivity or a RESPONSE by Connectivity. This is the Type of the message. It also contains and identifier for an Action that is/was performed.
And finaly a message has a MessageItem, the content of the message. Type and Action are Enumerations, that can be extended easily.
</p>
<div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="java source-java"><pre class="de1"><span class="kw1">public</span> <span class="kw1">class</span> Message
<span class="br0">&#123;</span>
Type type<span class="sy0">;</span>
<span class="kw3">Action</span> action<span class="sy0">;</span>
MessageItem item<span class="sy0">;</span>
<span class="br0">&#125;</span>
&#160;
<span class="kw1">public</span> <span class="kw1">enum</span> Type
<span class="br0">&#123;</span>
REQUEST, RESPONSE
<span class="br0">&#125;</span>
&#160;
<span class="kw1">public</span> <span class="kw1">enum</span> <span class="kw3">Action</span>
<span class="br0">&#123;</span>
DI_INIT, DI_CHECK_FOR_UPDATE, DI_FINISH, DI_DELETE, <span class="co1">// delta indexing</span>
ADD, UPDATE, DELETE, <span class="co1">// indexing</span>
CLEAR <span class="co1">// management</span>
<span class="br0">&#125;</span></pre></div></div>
<p><br />
The MessageItem is an abstract base class for concrete MessageItem classes. Each concrete MessageItem has a name and a value. If additional MessageItem classes are needed, they can be
introduced easily just by extending the abstract base class MessageItem. In this way, the content of a message can be assembled in any way. How a message has to be assembeled depends on Type and Action.
</p>
<div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="java source-java"><pre class="de1"><span class="kw1">public</span> <span class="kw1">abstract</span> <span class="kw1">class</span> MessageItem
<span class="br0">&#123;</span>
<span class="kw3">String</span> name<span class="sy0">;</span>
&#160;
<span class="kw1">public</span> MessageItem<span class="br0">&#40;</span><span class="kw3">String</span> name<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
<span class="kw1">this</span>.<span class="me1">name</span> <span class="sy0">=</span> name<span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&#160;
<span class="kw1">public</span> <span class="kw1">class</span> MessageItemList <span class="kw1">extends</span> MessageItem
<span class="br0">&#123;</span>
MessageItem<span class="br0">&#91;</span><span class="br0">&#93;</span> value<span class="sy0">;</span>
&#160;
MessageItemList<span class="br0">&#40;</span><span class="kw3">String</span> name, <span class="kw4">int</span> size<span class="br0">&#41;</span>
<span class="br0">&#123;</span>
<span class="kw1">super</span><span class="br0">&#40;</span>name<span class="br0">&#41;</span><span class="sy0">;</span>
value <span class="sy0">=</span> <span class="kw1">new</span> MessageItem<span class="br0">&#91;</span>size<span class="br0">&#93;</span><span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&#160;
<span class="kw1">public</span> <span class="kw1">class</span> RecordItem <span class="kw1">extends</span> MessageItem
<span class="br0">&#123;</span>
Record value<span class="sy0">;</span>
&#160;
<span class="kw1">public</span> RecordItem<span class="br0">&#40;</span><span class="kw3">String</span> name, Record record <span class="br0">&#41;</span>
<span class="br0">&#123;</span>
<span class="kw1">super</span><span class="br0">&#40;</span>name<span class="br0">&#41;</span><span class="sy0">;</span>
value <span class="sy0">=</span> record<span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&#160;
<span class="kw1">public</span> <span class="kw1">class</span> IDItem <span class="kw1">extends</span> MessageItem
<span class="br0">&#123;</span>
ID value<span class="sy0">;</span>
&#160;
<span class="kw1">public</span> IDItem<span class="br0">&#40;</span><span class="kw3">String</span> name, ID id <span class="br0">&#41;</span>
<span class="br0">&#123;</span>
<span class="kw1">super</span><span class="br0">&#40;</span>name<span class="br0">&#41;</span><span class="sy0">;</span>
value <span class="sy0">=</span> id<span class="sy0">;</span>
<span class="br0">&#125;</span>
&#160;
<span class="br0">&#125;</span>
&#160;
<span class="kw1">public</span> <span class="kw1">class</span> StringItem <span class="kw1">extends</span> MessageItem
<span class="br0">&#123;</span>
<span class="kw3">String</span> value<span class="sy0">;</span>
&#160;
<span class="kw1">public</span> StringItem<span class="br0">&#40;</span><span class="kw3">String</span> name, <span class="kw3">String</span> string <span class="br0">&#41;</span>
<span class="br0">&#123;</span>
<span class="kw1">super</span><span class="br0">&#40;</span>name<span class="br0">&#41;</span><span class="sy0">;</span>
value <span class="sy0">=</span> string<span class="sy0">;</span>
<span class="br0">&#125;</span>
&#160;
<span class="br0">&#125;</span>
&#160;
<span class="kw1">public</span> <span class="kw1">class</span> BooleanItem <span class="kw1">extends</span> MessageItem
<span class="br0">&#123;</span>
<span class="kw4">boolean</span> value<span class="sy0">;</span>
<span class="kw1">public</span> BooleanItem<span class="br0">&#40;</span><span class="kw3">String</span> name, <span class="kw4">boolean</span> bool <span class="br0">&#41;</span>
<span class="br0">&#123;</span>
<span class="kw1">super</span><span class="br0">&#40;</span>name<span class="br0">&#41;</span><span class="sy0">;</span>
value <span class="sy0">=</span> bool<span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="br0">&#125;</span>
&#160;
<span class="kw1">public</span> <span class="kw1">class</span> IntegerItem <span class="kw1">extends</span> MessageItem
<span class="br0">&#123;</span>
<span class="kw4">int</span> value<span class="sy0">;</span>
<span class="kw1">public</span> IntegerItem<span class="br0">&#40;</span><span class="kw3">String</span> name, <span class="kw4">int</span> integer <span class="br0">&#41;</span>
<span class="br0">&#123;</span>
<span class="kw1">super</span><span class="br0">&#40;</span>name<span class="br0">&#41;</span><span class="sy0">;</span>
value <span class="sy0">=</span> integer<span class="sy0">;</span>
<span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div>
<p><br />
</p>
<h3><span class="mw-headline" id="MessageItem_Structure">MessageItem Structure</span></h3>
<p>As said before, the structure of a message item depends on the Type and Action. For each combination of Type/Action a MessageItem structure has to be defined.
Here is a table of some simple examples. These are by no means final. If a message needs additional data it can easily be redefined.
The data could also be represented in other ways, for example the REQUEST/DI_CHECK_FOR_UPDATE could also use a MessageItemList&lt;MessageItemList&lt;String, String&gt;&gt;. Or the ADD and UPDATE actiuons could only allow one RecordItem instead of a list of RecordItems
</p>
<table border="1">
<tr>
<td>
</td>
<th> REQUEST
</th>
<th> RESPONSE
</th></tr>
<tr>
<th> DI_INIT
</th>
<td> StringItem
</td>
<td> BooleanItem
</td></tr>
<tr>
<th> DI_CHECK_FOR_UPDATE
</th>
<td> MessageItemList&lt;RecordItem&gt;
</td>
<td> MessageItemList&lt;BooleanItem&gt;
</td></tr>
<tr>
<th> DI_FINISH
</th>
<td> StringItem
</td>
<td> BooleanItem
</td></tr>
<tr>
<th> DI_DELETE
</th>
<td> StringItem
</td>
<td> IntegerItem
</td></tr>
<tr>
<th> ADD
</th>
<td> MessageItemList&lt;RecordItem&gt;
</td>
<td> IntegerItem
</td></tr>
<tr>
<th> UPDATE
</th>
<td> MessageItemList&lt;RecordItem&gt;
</td>
<td> IntegerItem
</td></tr>
<tr>
<th> DELETE
</th>
<td> MessageItemList&lt;IDTem&gt;
</td>
<td> MessageItemList&lt;IntegerItem&gt;
</td></tr>
<tr>
<th> CLEAR
</th>
<td> StringItem
</td>
<td> BooleanItem
</td></tr></table>
<p>The same applies to names for MessageItems. In some cases there may be no need for explicit names, in other cases the might be helpful to distinguish between different information.
Here are two examples for complete Message objects used during delta indexing check for update. The Request contains a list of EILFRecords with delta indexing information (ID and hash). The Response contains a list of boolean.
The index of both lists match, so that the result for a record at request\[x\] can be found at response\[x\]. The examples are represented in XML syntax for better readability. Note that the XML representation of the EILFRecord is just a sample.
</p>
<div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="xml source-xml"><pre class="de1"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Message</span> <span class="re0">xmlns:xsi</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span> <span class="re0">xsi:noNamespaceSchemaLocation</span>=<span class="st0">&quot;Message.xsd&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Message<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Type<span class="re2">&gt;</span></span></span>REQUEST<span class="sc3"><span class="re1">&lt;/Type<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Action<span class="re2">&gt;</span></span></span>CHECK_FOR_UPDATE<span class="sc3"><span class="re1">&lt;/Action<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;MessageItemList</span> <span class="re0">name</span>=<span class="st0">&quot;recordCheckList&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;RecordItem</span> <span class="re0">name</span>=<span class="st0">&quot;1&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;EILFRecord<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;ID<span class="re2">&gt;</span></span></span>1<span class="sc3"><span class="re1">&lt;/ID<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Hash<span class="re2">&gt;</span></span></span>aaa<span class="sc3"><span class="re1">&lt;/Hash<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/EILFRecord<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/RecordItem<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;RecordItem</span> <span class="re0">name</span>=<span class="st0">&quot;2&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;EILFRecord<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;ID<span class="re2">&gt;</span></span></span>2<span class="sc3"><span class="re1">&lt;/ID<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Hash<span class="re2">&gt;</span></span></span>bbb<span class="sc3"><span class="re1">&lt;/Hash<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/EILFRecord<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/RecordItem<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;RecordItem</span> <span class="re0">name</span>=<span class="st0">&quot;3&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;EILFRecord<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;ID<span class="re2">&gt;</span></span></span>3<span class="sc3"><span class="re1">&lt;/ID<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Hash<span class="re2">&gt;</span></span></span>ccc<span class="sc3"><span class="re1">&lt;/Hash<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/EILFRecord<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/RecordItem<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/MessageItemList<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Message<span class="re2">&gt;</span></span></span></pre></div></div>
<div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="xml source-xml"><pre class="de1"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span> <span class="re0">encoding</span>=<span class="st0">&quot;UTF-8&quot;</span><span class="re2">?&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Message</span> <span class="re0">xmlns:xsi</span>=<span class="st0">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span> <span class="re0">xsi:noNamespaceSchemaLocation</span>=<span class="st0">&quot;Message.xsd&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;Type<span class="re2">&gt;</span></span></span>RESPONSE<span class="sc3"><span class="re1">&lt;/Type<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;Action<span class="re2">&gt;</span></span></span>CHECK_FOR_UPDATE<span class="sc3"><span class="re1">&lt;/Action<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;MessageItemList</span> <span class="re0">name</span>=<span class="st0">&quot;recordFeedbackList&quot;</span><span class="re2">&gt;</span></span>
<span class="sc3"><span class="re1">&lt;BooleanItem</span> <span class="re0">name</span>=<span class="st0">&quot;1&quot;</span><span class="re2">&gt;</span></span>true<span class="sc3"><span class="re1">&lt;/BooleanItem<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;BooleanItem</span> <span class="re0">name</span>=<span class="st0">&quot;2&quot;</span><span class="re2">&gt;</span></span>true<span class="sc3"><span class="re1">&lt;/BooleanItem<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;BooleanItem</span> <span class="re0">name</span>=<span class="st0">&quot;3&quot;</span><span class="re2">&gt;</span></span>false<span class="sc3"><span class="re1">&lt;/BooleanItem<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/MessageItemList<span class="re2">&gt;</span></span></span>
<span class="sc3"><span class="re1">&lt;/Message<span class="re2">&gt;</span></span></span></pre></div></div>
<p><br />
</p>
<h3><span class="mw-headline" id="Utilities">Utilities</span></h3>
<p>To make the usage of the MessageItems easier for developers we could also provide Factory classes for creation of certain messages.
</p>
<div dir="ltr" class="mw-geshi mw-code mw-content-ltr"><div class="java source-java"><pre class="de1"><span class="kw1">public</span> <span class="kw1">interface</span> MessageFactory
<span class="br0">&#123;</span>
<span class="kw1">static</span> Message createAddRequest<span class="br0">&#40;</span>EILFRecord<span class="br0">&#91;</span><span class="br0">&#93;</span> records<span class="br0">&#41;</span>
&#160;
<span class="kw1">static</span> Message createAddResponse<span class="br0">&#40;</span><span class="kw4">int</span> count<span class="br0">&#41;</span>
&#160;
<span class="kw1">static</span> Message createCheckForUpdateRequest<span class="br0">&#40;</span>EILFRecord<span class="br0">&#91;</span><span class="br0">&#93;</span> records<span class="br0">&#41;</span><span class="sy0">;</span>
&#160;
<span class="kw1">static</span> Message createCheckForUpdateResponse<span class="br0">&#40;</span><span class="kw4">boolean</span><span class="br0">&#91;</span><span class="br0">&#93;</span> values<span class="br0">&#41;</span><span class="sy0">;</span>
&#160;
...
<span class="br0">&#125;</span></pre></div></div>
<p><br />
</p>
<h3><span class="mw-headline" id="Message_Objects_vs_plain_XML_Messaging">Message Objects vs plain XML Messaging</span></h3>
<p>The idea of the Message Objects was to provide a Java API in the first place. By using SCA it is easily possible to also use the interface remote, either via RMI or Webservice interface.
However, there are some issues regarding component upgrades. Imagine a setup where components are hosted by different departments and each department has it's own update cycle. This will certainly lead to different software versions of components.
So an updated IRM could use a newer Version of the Message Objects (e.g. with additional Actions) than the called ConnectivityModule.
</p>
<ul>
<li> plain XML
</li>
</ul>
<p>With a plain XML message concept, using a version flag, it's possible to decide during parsing if Connectivity is capable of processing a given message and a message could be declined (e.g. sending a response or throwing an exception). It's possible to allow downwards compatibility to certain versions.
</p>
<ul>
<li> RMI
</li>
</ul>
<p>Objects exchanged over RMI need to be serializable. This implies the usage of a serialVersionUID, by which the JVM can check if a serialized data fits to the current available .class file. If not, a InvalidClassException is thrown. The serialVersionUID usualy changes on any modifications. However, it is also possible to assign the serialVersionUID manually. In this way the serialVersionUID could be maintained on non conflicting changes (e.g. changes that do not affect the serialized data). It's not possible to be downwards compatible, as it is only checked if the serialVersionUID is equal. Adding a new value to an Enum may be seen as a non conflicting change - it is NOT. During de-serialization the JVM throws a java.lang.IllegalArgumentException. So in case of Message Objects the serialVersionUID needs also to be changed if any of the used Enums changes.
</p>
<ul>
<li> Webservice
</li>
</ul>
<p>The Tuscany generated Webservice interface doesn't care about the serialVersionUID used in serializable classes. Here we would have to use an own version flag. It is also a little more flexible concerning Enums, as if it does not know about a value it initializes the variable with null (no Exception). It's possible to allow downwards compatibility to certain versions.
</p><p>The biggest problem is that RMI and Webservices behave differently and the client has to be prepared to handle any exceptions, as the binding is configurable. Also, there may be many dependencies in the serializable Message Objects and deciding if modifications need to change the serialVersionUID may not be obvious.
</p>
<!--
NewPP limit report
CPU time usage: 0.220 seconds
Real time usage: 0.223 seconds
Preprocessor visited node count: 80/1000000
Preprocessor generated node count: 152/1000000
Post‐expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
Highest expansion depth: 2/40
Expensive parser function count: 0/100
-->
<!-- Saved in parser cache with key my_wiki:pcache:idhash:15226-0!*!*!!en!*!* and timestamp 20150413202314 and revision id 113298
-->
</div>
<!-- catlinks -->
<div id='catlinks' class='catlinks catlinks-allhidden'></div> <!-- /catlinks -->
</div>
</div>
</div>
</div>
<!-- /maincontent -->
<!-- printfooter -->
<div class="printfooter">
Retrieved from "<a href="http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/ConnectivityMessageInterface&amp;oldid=113298">http://wiki.eclipse.org/index.php?title=SMILA/Project_Concepts/ConnectivityMessageInterface&amp;oldid=113298</a>" </div>
<!-- /printfooter -->
<!-- debughtml -->
<!-- /debughtml -->
</div>
<!-- /bodyContent -->
</section>
<!-- /content -->
<!-- footer -->
</div> <section id="footer-contribution-info" style="border-top:1px solid #ccc;" class="footer-offset background-white margin-top-25"><div class="container text-center padding-top-10 padding-bottom-10"><p id="footercredit">This page was last modified 08:39, 13 August 2008 by <a href="http://wiki.eclipse.org/User:Daniel.stucky.empolis.com" title="User:Daniel.stucky.empolis.com">Daniel Stucky</a>.</p><p id="footerviews">This page has been accessed 2,020 times.</p></div></section> </main> <!-- /#main-content-container-row -->
<p id="back-to-top" class="noprint hidden-print">
<a class="visible-xs" href="ConnectivityMessageInterface.html#top">Back to the top</a>
</p>
<footer role="contentinfo" class="noprint hidden-print">
<div class="container">
<div class="row">
<section id="footer-eclipse-foundation" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
<h2 class="section-title">Eclipse Foundation</h2>
<ul class="nav">
<li><a href="https://eclipse.org/org/">About us</a></li>
<li><a href="https://eclipse.org/org/foundation/contact.php">Contact Us</a></li>
<li><a href="https://eclipse.org/donate">Donate</a></li>
<li><a href="https://eclipse.org/org/documents/">Governance</a></li>
<li><a href="https://eclipse.org/artwork/">Logo and Artwork</a></li>
<li><a href="https://eclipse.org/org/foundation/directors.php">Board of Directors</a></li>
</ul>
</section>
<section id="footer-legal" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
<h2 class="section-title">Legal</h2>
<ul class="nav">
<li><a href="https://eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="https://eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
<li><a href="https://eclipse.org/legal/copyright.php">Copyright Agent</a></li>
<li><a href="https://eclipse.org/org/documents/epl-v10.php">Eclipse Public License </a></li>
<li><a href="https://eclipse.org/legal/">Legal Resources </a></li>
</ul>
</section>
<section id="footer-useful-links" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
<h2 class="section-title">Useful Links</h2>
<ul class="nav">
<li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
<li><a href="http://help.eclipse.org/">Documentation</a></li>
<li><a href="https://eclipse.org/contribute/">How to Contribute</a></li>
<li><a href="https://eclipse.org/mail/">Mailing Lists</a></li>
<li><a href="https://eclipse.org/forums/">Forums</a></li>
<li><a href="http://marketplace.eclipse.org/">Marketplace</a></li>
</ul>
</section>
<section id="footer-other" class="col-xs-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0">
<h2 class="section-title">Other</h2>
<ul class="nav">
<li><a href="https://eclipse.org/ide/">IDE and Tools</a></li>
<li><a href="https://eclipse.org/projects">Community of Projects</a></li>
<li><a href="https://eclipse.org/org/workinggroups/">Working Groups</a></li>
</ul>
<ul class="list-inline social-media">
<li><a href="https://twitter.com/EclipseFdn"><i class="fa fa-twitter-square"></i></a></li>
<li><a href="https://plus.google.com/+Eclipse"><i class="fa fa-google-plus-square"></i></a></li>
<li><a href="https://www.facebook.com/eclipse.org"><i class="fa fa-facebook-square"></i> </a></li>
<li><a href="https://www.youtube.com/user/EclipseFdn"><i class="fa fa-youtube-square"></i></a></li>
</ul>
</section>
<div id="copyright" class="col-xs-offset-1 col-sm-14 col-md-24 col-md-offset-0">
<div>
<span><img src="http://eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-logo-bw-800x188.png" alt="Eclipse.org black and white logo" width="166" height="39" id="logo-eclipse-white"/></span>
<p id="copyright-text">Copyright &copy; 2014 The Eclipse Foundation. All Rights Reserved.</p>
</div>
</div>
<a href="ConnectivityMessageInterface.html#" class="scrollup">Back to the top</a>
</div>
</div>
</footer>
<script src="http://wiki.eclipse.org/skins/solstice/public/javascript/main.min.js"></script>
<!-- Placed at the end of the document so the pages load faster -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-910670-2']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script> <!-- /footer -->
<script>/*<![CDATA[*/window.jQuery && jQuery.ready();/*]]>*/</script><script>if(window.mw){
mw.loader.state({"skins.solstice":"loading","site":"ready","user":"ready","user.groups":"ready"});
}</script>
<script src="http://wiki.eclipse.org/load.php?debug=false&amp;lang=en&amp;modules=skins.solstice&amp;only=scripts&amp;skin=solstice&amp;*"></script>
<script>if(window.mw){
mw.loader.load(["mediawiki.action.view.postEdit","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest"],null,true);
}</script>
<script>if(window.mw){
mw.config.set({"wgBackendResponseTime":380});
}</script> </body>
</html>