blob: 4046cb4606441bee69c25a79e7c59fe89020b2e8 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_262) on Thu Oct 29 15:52:01 GMT 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FederateAmbassador (Eclipse MOSAIC Parent 20.0 API)</title>
<meta name="date" content="2020-10-29">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="FederateAmbassador (Eclipse MOSAIC Parent 20.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FederateAmbassador.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/mosaic/rti/api/ComponentProvider.html" title="interface in org.eclipse.mosaic.rti.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/mosaic/rti/api/FederateExecutor.html" title="interface in org.eclipse.mosaic.rti.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/mosaic/rti/api/FederateAmbassador.html" target="_top">Frames</a></li>
<li><a href="FederateAmbassador.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.mosaic.rti.api</div>
<h2 title="Interface FederateAmbassador" class="title">Interface FederateAmbassador</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html" title="interface in org.eclipse.mosaic.rti.api">FederateAmbassador</a>&gt;</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/eclipse/mosaic/rti/api/AbstractFederateAmbassador.html" title="class in org.eclipse.mosaic.rti.api">AbstractFederateAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/lib/coupling/AbstractNetworkAmbassador.html" title="class in org.eclipse.mosaic.lib.coupling">AbstractNetworkAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/sumo/ambassador/AbstractSumoAmbassador.html" title="class in org.eclipse.mosaic.fed.sumo.ambassador">AbstractSumoAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/application/ambassador/ApplicationAmbassador.html" title="class in org.eclipse.mosaic.fed.application.ambassador">ApplicationAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/cell/ambassador/CellAmbassador.html" title="class in org.eclipse.mosaic.fed.cell.ambassador">CellAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/environment/ambassador/EnvironmentAmbassador.html" title="class in org.eclipse.mosaic.fed.environment.ambassador">EnvironmentAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/mapping/ambassador/MappingAmbassador.html" title="class in org.eclipse.mosaic.fed.mapping.ambassador">MappingAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/ns3/ambassador/Ns3Ambassador.html" title="class in org.eclipse.mosaic.fed.ns3.ambassador">Ns3Ambassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/omnetpp/ambassador/OmnetppAmbassador.html" title="class in org.eclipse.mosaic.fed.omnetpp.ambassador">OmnetppAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/output/ambassador/OutputAmbassador.html" title="class in org.eclipse.mosaic.fed.output.ambassador">OutputAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/sns/ambassador/SnsAmbassador.html" title="class in org.eclipse.mosaic.fed.sns.ambassador">SnsAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/sumo/ambassador/SumoAmbassador.html" title="class in org.eclipse.mosaic.fed.sumo.ambassador">SumoAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/sumo/ambassador/SumoGuiAmbassador.html" title="class in org.eclipse.mosaic.fed.sumo.ambassador">SumoGuiAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/sumo/ambassador/SumoScenarioAmbassador.html" title="class in org.eclipse.mosaic.fed.sumo.ambassador">SumoScenarioAmbassador</a>, <a href="../../../../../org/eclipse/mosaic/fed/sumo/ambassador/SumoScenarioGuiAmbassador.html" title="class in org.eclipse.mosaic.fed.sumo.ambassador">SumoScenarioGuiAmbassador</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">FederateAmbassador</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html" title="interface in org.eclipse.mosaic.rti.api">FederateAmbassador</a>&gt;</pre>
<div class="block">This interface must be implemented by each simulator (federate) that
wants to be included into a federation. It contains methods that are used
by the RTI services to start, stop and control the federate.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#advanceTime-long-">advanceTime</a></span>(long&nbsp;time)</code>
<div class="block">This method is called by the time management service.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#connectToFederate-java.lang.String-java.io.InputStream-java.io.InputStream-">connectToFederate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;in,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;err)</code>
<div class="block">This method is called by the federation management service after it has started the corresponding federate or simulator.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#connectToFederate-java.lang.String-int-">connectToFederate</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
int&nbsp;port)</code>
<div class="block">This method is called by the federation management service to connect to the
federate without starting it.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/mosaic/rti/api/federatestarter/DockerFederateExecutor.html" title="class in org.eclipse.mosaic.rti.api.federatestarter">DockerFederateExecutor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#createDockerFederateExecutor-java.lang.String-org.eclipse.mosaic.rti.config.CLocalHost.OperatingSystem-">createDockerFederateExecutor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dockerImage,
<a href="../../../../../org/eclipse/mosaic/rti/config/CLocalHost.OperatingSystem.html" title="enum in org.eclipse.mosaic.rti.config">CLocalHost.OperatingSystem</a>&nbsp;os)</code>
<div class="block">If the federate or simulator can be executed as a docker container, this method returns a
<a href="../../../../../org/eclipse/mosaic/rti/api/federatestarter/DockerFederateExecutor.html" title="class in org.eclipse.mosaic.rti.api.federatestarter"><code>DockerFederateExecutor</code></a>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/eclipse/mosaic/rti/api/FederateExecutor.html" title="interface in org.eclipse.mosaic.rti.api">FederateExecutor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#createFederateExecutor-java.lang.String-int-org.eclipse.mosaic.rti.config.CLocalHost.OperatingSystem-">createFederateExecutor</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
int&nbsp;port,
<a href="../../../../../org/eclipse/mosaic/rti/config/CLocalHost.OperatingSystem.html" title="enum in org.eclipse.mosaic.rti.config">CLocalHost.OperatingSystem</a>&nbsp;os)</code>
<div class="block">Returns a <a href="../../../../../org/eclipse/mosaic/rti/api/FederateExecutor.html" title="interface in org.eclipse.mosaic.rti.api"><code>FederateExecutor</code></a> which is used to start the federate this
ambassador is associated with.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#finishSimulation--">finishSimulation</a></span>()</code>
<div class="block">This method is called by the time management service to signal that the
simulation is finished.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#getId--">getId</a></span>()</code>
<div class="block">Returns the identifier of the federate.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>byte</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#getPriority--">getPriority</a></span>()</code>
<div class="block">Returns the priority of this ambassador/federate.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#initialize-long-long-">initialize</a></span>(long&nbsp;startTime,
long&nbsp;endTime)</code>
<div class="block">This method is called by the TimeManagement to tell the federate the
start and the end time.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#isTimeConstrained--">isTimeConstrained</a></span>()</code>
<div class="block">Returns whether this federate is time constrained.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#isTimeRegulating--">isTimeRegulating</a></span>()</code>
<div class="block">Returns whether this federate is time regulating.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#receiveInteraction-org.eclipse.mosaic.rti.api.Interaction-">receiveInteraction</a></span>(<a href="../../../../../org/eclipse/mosaic/rti/api/Interaction.html" title="class in org.eclipse.mosaic.rti.api">Interaction</a>&nbsp;interaction)</code>
<div class="block">The receiveMessage method is called by the time management service
when an interaction is available for which this federate is registered.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#setFederateDescriptor-org.eclipse.mosaic.rti.api.parameters.FederateDescriptor-">setFederateDescriptor</a></span>(<a href="../../../../../org/eclipse/mosaic/rti/api/parameters/FederateDescriptor.html" title="class in org.eclipse.mosaic.rti.api.parameters">FederateDescriptor</a>&nbsp;descriptor)</code>
<div class="block">Sets the descriptor containing all required information for setting up the
ambassador and federate.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/mosaic/rti/api/FederateAmbassador.html#setRtiAmbassador-org.eclipse.mosaic.rti.api.RtiAmbassador-">setRtiAmbassador</a></span>(<a href="../../../../../org/eclipse/mosaic/rti/api/RtiAmbassador.html" title="interface in org.eclipse.mosaic.rti.api">RtiAmbassador</a>&nbsp;rti)</code>
<div class="block">Assigns a new <a href="../../../../../org/eclipse/mosaic/rti/api/RtiAmbassador.html" title="interface in org.eclipse.mosaic.rti.api"><code>RtiAmbassador</code></a> to this federate.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Comparable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="createFederateExecutor-java.lang.String-int-org.eclipse.mosaic.rti.config.CLocalHost.OperatingSystem-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createFederateExecutor</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="class or interface in javax.annotation">@Nonnull</a>
<a href="../../../../../org/eclipse/mosaic/rti/api/FederateExecutor.html" title="interface in org.eclipse.mosaic.rti.api">FederateExecutor</a>&nbsp;createFederateExecutor(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
int&nbsp;port,
<a href="../../../../../org/eclipse/mosaic/rti/config/CLocalHost.OperatingSystem.html" title="enum in org.eclipse.mosaic.rti.config">CLocalHost.OperatingSystem</a>&nbsp;os)</pre>
<div class="block">Returns a <a href="../../../../../org/eclipse/mosaic/rti/api/FederateExecutor.html" title="interface in org.eclipse.mosaic.rti.api"><code>FederateExecutor</code></a> which is used to start the federate this
ambassador is associated with. If no separate federate needs to be started,
a <a href="../../../../../org/eclipse/mosaic/rti/api/federatestarter/NopFederateExecutor.html" title="class in org.eclipse.mosaic.rti.api.federatestarter"><code>NopFederateExecutor</code></a> should be returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>host</code> - name of the host (as specified in /etc/hosts.xml)</dd>
<dd><code>port</code> - port number to be used by this federate</dd>
<dd><code>os</code> - the current operating system of the system</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../org/eclipse/mosaic/rti/api/FederateExecutor.html" title="interface in org.eclipse.mosaic.rti.api"><code>FederateExecutor</code></a> which starts the federate</dd>
</dl>
</li>
</ul>
<a name="createDockerFederateExecutor-java.lang.String-org.eclipse.mosaic.rti.config.CLocalHost.OperatingSystem-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDockerFederateExecutor</h4>
<pre><a href="../../../../../org/eclipse/mosaic/rti/api/federatestarter/DockerFederateExecutor.html" title="class in org.eclipse.mosaic.rti.api.federatestarter">DockerFederateExecutor</a>&nbsp;createDockerFederateExecutor(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;dockerImage,
<a href="../../../../../org/eclipse/mosaic/rti/config/CLocalHost.OperatingSystem.html" title="enum in org.eclipse.mosaic.rti.config">CLocalHost.OperatingSystem</a>&nbsp;os)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang">UnsupportedOperationException</a></pre>
<div class="block">If the federate or simulator can be executed as a docker container, this method returns a
<a href="../../../../../org/eclipse/mosaic/rti/api/federatestarter/DockerFederateExecutor.html" title="class in org.eclipse.mosaic.rti.api.federatestarter"><code>DockerFederateExecutor</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dockerImage</code> - name of the docker image containing the federate (as specified in /etc/defaults.xml)</dd>
<dd><code>os</code> - the current operating system of the host machine</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../../../../org/eclipse/mosaic/rti/api/federatestarter/DockerFederateExecutor.html" title="class in org.eclipse.mosaic.rti.api.federatestarter"><code>DockerFederateExecutor</code></a> which starts the federate</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang">UnsupportedOperationException</a></code> - if the ambassador does not support running the federate in a docker container.</dd>
</dl>
</li>
</ul>
<a name="connectToFederate-java.lang.String-java.io.InputStream-java.io.InputStream-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectToFederate</h4>
<pre>void&nbsp;connectToFederate(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;in,
<a href="https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html?is-external=true" title="class or interface in java.io">InputStream</a>&nbsp;err)
throws <a href="../../../../../org/eclipse/mosaic/rti/api/InternalFederateException.html" title="class in org.eclipse.mosaic.rti.api">InternalFederateException</a></pre>
<div class="block">This method is called by the federation management service after it has started the corresponding federate or simulator.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>host</code> - The host on which the simulator is running.</dd>
<dd><code>in</code> - This input stream is connected to the output stream of the
started simulator process. The stream is only valid during
this method call.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/eclipse/mosaic/rti/api/InternalFederateException.html" title="class in org.eclipse.mosaic.rti.api">InternalFederateException</a></code> - This exception is to be thrown when a federation specific
error occurs.</dd>
</dl>
</li>
</ul>
<a name="connectToFederate-java.lang.String-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>connectToFederate</h4>
<pre>void&nbsp;connectToFederate(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;host,
int&nbsp;port)</pre>
<div class="block">This method is called by the federation management service to connect to the
federate without starting it. This requires the port to be configured in the configuration
file for the RTI.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>host</code> - the host on which the simulator is running</dd>
<dd><code>port</code> - the port to use for connecting to the simulator</dd>
</dl>
</li>
</ul>
<a name="setRtiAmbassador-org.eclipse.mosaic.rti.api.RtiAmbassador-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRtiAmbassador</h4>
<pre>void&nbsp;setRtiAmbassador(<a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="class or interface in javax.annotation">@Nonnull</a>
<a href="../../../../../org/eclipse/mosaic/rti/api/RtiAmbassador.html" title="interface in org.eclipse.mosaic.rti.api">RtiAmbassador</a>&nbsp;rti)</pre>
<div class="block">Assigns a new <a href="../../../../../org/eclipse/mosaic/rti/api/RtiAmbassador.html" title="interface in org.eclipse.mosaic.rti.api"><code>RtiAmbassador</code></a> to this federate. The <a href="../../../../../org/eclipse/mosaic/rti/api/RtiAmbassador.html" title="interface in org.eclipse.mosaic.rti.api"><code>RtiAmbassador</code></a> is the bridge
the the RTI providing various methods, e.g. to exchange interactions. Each ambassador requires
its own instance of the <a href="../../../../../org/eclipse/mosaic/rti/api/RtiAmbassador.html" title="interface in org.eclipse.mosaic.rti.api"><code>RtiAmbassador</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rti</code> - a <a href="../../../../../org/eclipse/mosaic/rti/api/RtiAmbassador.html" title="interface in org.eclipse.mosaic.rti.api"><code>RtiAmbassador</code></a> instance</dd>
</dl>
</li>
</ul>
<a name="initialize-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>void&nbsp;initialize(long&nbsp;startTime,
long&nbsp;endTime)
throws <a href="../../../../../org/eclipse/mosaic/rti/api/InternalFederateException.html" title="class in org.eclipse.mosaic.rti.api">InternalFederateException</a></pre>
<div class="block">This method is called by the TimeManagement to tell the federate the
start and the end time.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>startTime</code> - Start time of the simulation run in nano seconds.</dd>
<dd><code>endTime</code> - End time of the simulation run in nano seconds.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/eclipse/mosaic/rti/api/InternalFederateException.html" title="class in org.eclipse.mosaic.rti.api">InternalFederateException</a></code> - This exception is to be thrown when a federation specific
error occurs.</dd>
</dl>
</li>
</ul>
<a name="advanceTime-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>advanceTime</h4>
<pre>void&nbsp;advanceTime(long&nbsp;time)
throws <a href="../../../../../org/eclipse/mosaic/rti/api/InternalFederateException.html" title="class in org.eclipse.mosaic.rti.api">InternalFederateException</a></pre>
<div class="block">This method is called by the time management service. If the ambassador
has requested to advance its internal clock, the time management service
calls this method to signal that a time advance request is granted.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>time</code> - Time in nano seconds until this federate is allowed to advance
its internal clock.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/eclipse/mosaic/rti/api/InternalFederateException.html" title="class in org.eclipse.mosaic.rti.api">InternalFederateException</a></code> - This exception is to be thrown when a federation specific
error occurs.</dd>
</dl>
</li>
</ul>
<a name="receiveInteraction-org.eclipse.mosaic.rti.api.Interaction-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>receiveInteraction</h4>
<pre>void&nbsp;receiveInteraction(<a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="class or interface in javax.annotation">@Nonnull</a>
<a href="../../../../../org/eclipse/mosaic/rti/api/Interaction.html" title="class in org.eclipse.mosaic.rti.api">Interaction</a>&nbsp;interaction)
throws <a href="../../../../../org/eclipse/mosaic/rti/api/InternalFederateException.html" title="class in org.eclipse.mosaic.rti.api">InternalFederateException</a></pre>
<div class="block">The receiveMessage method is called by the time management service
when an interaction is available for which this federate is registered.
If the receiver wants to advance its internal clock based on the
interaction it has to request a time advance. The receiver is not allowed
to advance its internal clock without granted request.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>interaction</code> - An object extending the interaction object and containing
shared data by another federate.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/eclipse/mosaic/rti/api/InternalFederateException.html" title="class in org.eclipse.mosaic.rti.api">InternalFederateException</a></code> - This exception is to be thrown when a federation specific
error occurs.</dd>
</dl>
</li>
</ul>
<a name="finishSimulation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>finishSimulation</h4>
<pre>void&nbsp;finishSimulation()
throws <a href="../../../../../org/eclipse/mosaic/rti/api/InternalFederateException.html" title="class in org.eclipse.mosaic.rti.api">InternalFederateException</a></pre>
<div class="block">This method is called by the time management service to signal that the
simulation is finished.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/eclipse/mosaic/rti/api/InternalFederateException.html" title="class in org.eclipse.mosaic.rti.api">InternalFederateException</a></code></dd>
</dl>
</li>
</ul>
<a name="getId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getId</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getId()</pre>
<div class="block">Returns the identifier of the federate.</div>
</li>
</ul>
<a name="setFederateDescriptor-org.eclipse.mosaic.rti.api.parameters.FederateDescriptor-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFederateDescriptor</h4>
<pre>void&nbsp;setFederateDescriptor(<a href="https://docs.oracle.com/javase/8/docs/api/javax/annotation/Nonnull.html?is-external=true" title="class or interface in javax.annotation">@Nonnull</a>
<a href="../../../../../org/eclipse/mosaic/rti/api/parameters/FederateDescriptor.html" title="class in org.eclipse.mosaic.rti.api.parameters">FederateDescriptor</a>&nbsp;descriptor)</pre>
<div class="block">Sets the descriptor containing all required information for setting up the
ambassador and federate.</div>
</li>
</ul>
<a name="getPriority--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPriority</h4>
<pre>byte&nbsp;getPriority()</pre>
<div class="block">Returns the priority of this ambassador/federate. The lower the value
the higher the priority.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The priority of this federate</dd>
</dl>
</li>
</ul>
<a name="isTimeConstrained--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isTimeConstrained</h4>
<pre>boolean&nbsp;isTimeConstrained()</pre>
<div class="block">Returns whether this federate is time constrained.
Is set if the federate is sensitive towards the correct ordering of
events. The federate ambassador will ensure that the message
processing happens in time stamp order. If set to false, interactions will be
processed will be in receive order.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if this federate is time constrained, else <code>false</code></dd>
</dl>
</li>
</ul>
<a name="isTimeRegulating--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isTimeRegulating</h4>
<pre>boolean&nbsp;isTimeRegulating()</pre>
<div class="block">Returns whether this federate is time regulating.
Is set if the federate influences other federates and can prevent them
from advancing their local time.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>true</code> if this federate is time regulating, <code>false</code> else</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/FederateAmbassador.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/mosaic/rti/api/ComponentProvider.html" title="interface in org.eclipse.mosaic.rti.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/mosaic/rti/api/FederateExecutor.html" title="interface in org.eclipse.mosaic.rti.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/mosaic/rti/api/FederateAmbassador.html" target="_top">Frames</a></li>
<li><a href="FederateAmbassador.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.fokus.fraunhofer.de/">Fraunhofer FOKUS</a>. All rights reserved.</small></p>
</body>
</html>