blob: 6ef20f24614141e9478795149d2942eeb396dd89 [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:08 GMT 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CapacityUtility (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="CapacityUtility (Eclipse MOSAIC Parent 20.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete 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/CapacityUtility.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/DelayUtility.html" title="class in org.eclipse.mosaic.fed.cell.utility"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html" target="_top">Frames</a></li>
<li><a href="CapacityUtility.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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.fed.cell.utility</div>
<h2 title="Class CapacityUtility" class="title">Class CapacityUtility</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.mosaic.fed.cell.utility.CapacityUtility</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="typeNameLabel">CapacityUtility</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Static methods for handling the bandwidth calculation.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html#CapacityUtility--">CapacityUtility</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html#availableCapacity-org.eclipse.mosaic.fed.cell.config.model.TransmissionMode-org.eclipse.mosaic.fed.cell.config.model.CNetworkProperties-org.eclipse.mosaic.lib.objects.communication.CellConfiguration-">availableCapacity</a></span>(<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/TransmissionMode.html" title="enum in org.eclipse.mosaic.fed.cell.config.model">TransmissionMode</a>&nbsp;mode,
<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/CNetworkProperties.html" title="class in org.eclipse.mosaic.fed.cell.config.model">CNetworkProperties</a>&nbsp;region,
<a href="../../../../../../org/eclipse/mosaic/lib/objects/communication/CellConfiguration.html" title="class in org.eclipse.mosaic.lib.objects.communication">CellConfiguration</a>&nbsp;nodeCellConfiguration)</code>
<div class="block">The method returns the available bandwidth for a node in a region.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html#calculateNeededCapacity-long-long-">calculateNeededCapacity</a></span>(long&nbsp;messageSizeInBit,
long&nbsp;delayInNs)</code>
<div class="block">Calculates the needed bandwidth for one message according to the messageSize and the delay.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html#calculateNeededDelay-long-long-">calculateNeededDelay</a></span>(long&nbsp;messageSizeInBit,
long&nbsp;availableBandwidth)</code>
<div class="block">Calculates the needed bandwidth for one message according to the messageSize and the available bandwidth.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html#consumeCapacity-org.eclipse.mosaic.fed.cell.config.model.TransmissionMode-org.eclipse.mosaic.fed.cell.config.model.CNetworkProperties-org.eclipse.mosaic.lib.objects.communication.CellConfiguration-long-">consumeCapacity</a></span>(<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/TransmissionMode.html" title="enum in org.eclipse.mosaic.fed.cell.config.model">TransmissionMode</a>&nbsp;mode,
<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/CNetworkProperties.html" title="class in org.eclipse.mosaic.fed.cell.config.model">CNetworkProperties</a>&nbsp;region,
<a href="../../../../../../org/eclipse/mosaic/lib/objects/communication/CellConfiguration.html" title="class in org.eclipse.mosaic.lib.objects.communication">CellConfiguration</a>&nbsp;nodeCellConfiguration,
long&nbsp;consume)</code>
<div class="block">Consumes some of the available bandwidth based on the given message.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html#freeCapacityUp-org.eclipse.mosaic.fed.cell.config.model.CNetworkProperties-org.eclipse.mosaic.lib.objects.communication.CellConfiguration-long-">freeCapacityUp</a></span>(<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/CNetworkProperties.html" title="class in org.eclipse.mosaic.fed.cell.config.model">CNetworkProperties</a>&nbsp;region,
<a href="../../../../../../org/eclipse/mosaic/lib/objects/communication/CellConfiguration.html" title="class in org.eclipse.mosaic.lib.objects.communication">CellConfiguration</a>&nbsp;nodeCellConfiguration,
long&nbsp;freed)</code>
<div class="block">Frees the capacity in the region and for the node.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html#getMessageLength-org.eclipse.mosaic.lib.objects.v2x.V2xMessage-">getMessageLength</a></span>(<a href="../../../../../../org/eclipse/mosaic/lib/objects/v2x/V2xMessage.html" title="class in org.eclipse.mosaic.lib.objects.v2x">V2xMessage</a>&nbsp;msg)</code>
<div class="block">Helper-function to get the effective message length in bits.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html#getStreamingBandwidth-org.eclipse.mosaic.lib.objects.v2x.V2xMessage-">getStreamingBandwidth</a></span>(<a href="../../../../../../org/eclipse/mosaic/lib/objects/v2x/V2xMessage.html" title="class in org.eclipse.mosaic.lib.objects.v2x">V2xMessage</a>&nbsp;v2xMessage)</code>
<div class="block">Get the bandwidth for the stream.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html#isAvailable-org.eclipse.mosaic.fed.cell.config.model.TransmissionMode-org.eclipse.mosaic.fed.cell.config.model.CNetworkProperties-org.eclipse.mosaic.lib.objects.communication.CellConfiguration-">isAvailable</a></span>(<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/TransmissionMode.html" title="enum in org.eclipse.mosaic.fed.cell.config.model">TransmissionMode</a>&nbsp;mode,
<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/CNetworkProperties.html" title="class in org.eclipse.mosaic.fed.cell.config.model">CNetworkProperties</a>&nbsp;region,
<a href="../../../../../../org/eclipse/mosaic/lib/objects/communication/CellConfiguration.html" title="class in org.eclipse.mosaic.lib.objects.communication">CellConfiguration</a>&nbsp;nodeCellConfiguration)</code>
<div class="block">Checks whether a new transmission is possible or whether the minimal bandwidths are undershot.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html#isCapacitySufficient-org.eclipse.mosaic.fed.cell.config.model.TransmissionMode-org.eclipse.mosaic.fed.cell.config.model.CNetworkProperties-org.eclipse.mosaic.lib.objects.communication.CellConfiguration-long-">isCapacitySufficient</a></span>(<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/TransmissionMode.html" title="enum in org.eclipse.mosaic.fed.cell.config.model">TransmissionMode</a>&nbsp;mode,
<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/CNetworkProperties.html" title="class in org.eclipse.mosaic.fed.cell.config.model">CNetworkProperties</a>&nbsp;region,
<a href="../../../../../../org/eclipse/mosaic/lib/objects/communication/CellConfiguration.html" title="class in org.eclipse.mosaic.lib.objects.communication">CellConfiguration</a>&nbsp;nodeCellConfiguration,
long&nbsp;neededBandwidth)</code>
<div class="block">Checks if the bandwidth of the given region and of the given node
is sufficient to perform the transmission.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="CapacityUtility--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CapacityUtility</h4>
<pre>public&nbsp;CapacityUtility()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="calculateNeededCapacity-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>calculateNeededCapacity</h4>
<pre>public static&nbsp;long&nbsp;calculateNeededCapacity(long&nbsp;messageSizeInBit,
long&nbsp;delayInNs)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></pre>
<div class="block">Calculates the needed bandwidth for one message according to the messageSize and the delay.
for the same size, a message with a short delay would consume more bandwidth during transmission.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>messageSizeInBit</code> - messageSize given in [bit]</dd>
<dd><code>delayInNs</code> - delay as transmissionTime, given in [ns]</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The needed bandwidth in [bit/s]</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang">IllegalArgumentException</a></code> - if delay or message size were set to invalid values</dd>
</dl>
</li>
</ul>
<a name="calculateNeededDelay-long-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>calculateNeededDelay</h4>
<pre>public static&nbsp;long&nbsp;calculateNeededDelay(long&nbsp;messageSizeInBit,
long&nbsp;availableBandwidth)</pre>
<div class="block">Calculates the needed bandwidth for one message according to the messageSize and the available bandwidth.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>messageSizeInBit</code> - messageSize given in [bit].</dd>
<dd><code>availableBandwidth</code> - Available bandwidth in [bit/s].</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The needed delay in [ns]</dd>
</dl>
</li>
</ul>
<a name="isCapacitySufficient-org.eclipse.mosaic.fed.cell.config.model.TransmissionMode-org.eclipse.mosaic.fed.cell.config.model.CNetworkProperties-org.eclipse.mosaic.lib.objects.communication.CellConfiguration-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCapacitySufficient</h4>
<pre>public static&nbsp;boolean&nbsp;isCapacitySufficient(<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/TransmissionMode.html" title="enum in org.eclipse.mosaic.fed.cell.config.model">TransmissionMode</a>&nbsp;mode,
<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/CNetworkProperties.html" title="class in org.eclipse.mosaic.fed.cell.config.model">CNetworkProperties</a>&nbsp;region,
<a href="../../../../../../org/eclipse/mosaic/lib/objects/communication/CellConfiguration.html" title="class in org.eclipse.mosaic.lib.objects.communication">CellConfiguration</a>&nbsp;nodeCellConfiguration,
long&nbsp;neededBandwidth)</pre>
<div class="block">Checks if the bandwidth of the given region and of the given node
is sufficient to perform the transmission.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>region</code> - The region to be checked for available bandwidth</dd>
<dd><code>mode</code> - The mode of the transmission that should be checked</dd>
<dd><code>nodeCellConfiguration</code> - The cell configuration of the given node that is checked</dd>
<dd><code>neededBandwidth</code> - The needed bandwidth for the transmission</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the bandwidth in the system is sufficient for the transmission, false if the bandwidth is not sufficient</dd>
</dl>
</li>
</ul>
<a name="consumeCapacity-org.eclipse.mosaic.fed.cell.config.model.TransmissionMode-org.eclipse.mosaic.fed.cell.config.model.CNetworkProperties-org.eclipse.mosaic.lib.objects.communication.CellConfiguration-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>consumeCapacity</h4>
<pre>public static&nbsp;void&nbsp;consumeCapacity(<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/TransmissionMode.html" title="enum in org.eclipse.mosaic.fed.cell.config.model">TransmissionMode</a>&nbsp;mode,
<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/CNetworkProperties.html" title="class in org.eclipse.mosaic.fed.cell.config.model">CNetworkProperties</a>&nbsp;region,
<a href="../../../../../../org/eclipse/mosaic/lib/objects/communication/CellConfiguration.html" title="class in org.eclipse.mosaic.lib.objects.communication">CellConfiguration</a>&nbsp;nodeCellConfiguration,
long&nbsp;consume)</pre>
<div class="block">Consumes some of the available bandwidth based on the given message.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>region</code> - The region to consume the bandwidth from</dd>
<dd><code>mode</code> - Up or downstream</dd>
<dd><code>nodeCellConfiguration</code> - The cell configuration of the node that is involved in the communication</dd>
<dd><code>consume</code> - The amount of consumed bandwidth in bit/s</dd>
</dl>
</li>
</ul>
<a name="freeCapacityUp-org.eclipse.mosaic.fed.cell.config.model.CNetworkProperties-org.eclipse.mosaic.lib.objects.communication.CellConfiguration-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>freeCapacityUp</h4>
<pre>public static&nbsp;void&nbsp;freeCapacityUp(<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/fed/cell/config/model/CNetworkProperties.html" title="class in org.eclipse.mosaic.fed.cell.config.model">CNetworkProperties</a>&nbsp;region,
<a href="../../../../../../org/eclipse/mosaic/lib/objects/communication/CellConfiguration.html" title="class in org.eclipse.mosaic.lib.objects.communication">CellConfiguration</a>&nbsp;nodeCellConfiguration,
long&nbsp;freed)</pre>
<div class="block">Frees the capacity in the region and for the node. This method is normally called when a transmission is finished.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>region</code> - The region where the capacity is freed.</dd>
<dd><code>nodeCellConfiguration</code> - The cell configuration of the node where the capacity is freed.</dd>
<dd><code>freed</code> - The capacity that should be freed.</dd>
</dl>
</li>
</ul>
<a name="getMessageLength-org.eclipse.mosaic.lib.objects.v2x.V2xMessage-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessageLength</h4>
<pre>public static&nbsp;long&nbsp;getMessageLength(<a href="../../../../../../org/eclipse/mosaic/lib/objects/v2x/V2xMessage.html" title="class in org.eclipse.mosaic.lib.objects.v2x">V2xMessage</a>&nbsp;msg)</pre>
<div class="block">Helper-function to get the effective message length in bits.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - V2X message.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The length of the V2X message.</dd>
</dl>
</li>
</ul>
<a name="isAvailable-org.eclipse.mosaic.fed.cell.config.model.TransmissionMode-org.eclipse.mosaic.fed.cell.config.model.CNetworkProperties-org.eclipse.mosaic.lib.objects.communication.CellConfiguration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAvailable</h4>
<pre>public static&nbsp;boolean&nbsp;isAvailable(<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/TransmissionMode.html" title="enum in org.eclipse.mosaic.fed.cell.config.model">TransmissionMode</a>&nbsp;mode,
<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/CNetworkProperties.html" title="class in org.eclipse.mosaic.fed.cell.config.model">CNetworkProperties</a>&nbsp;region,
<a href="../../../../../../org/eclipse/mosaic/lib/objects/communication/CellConfiguration.html" title="class in org.eclipse.mosaic.lib.objects.communication">CellConfiguration</a>&nbsp;nodeCellConfiguration)</pre>
<div class="block">Checks whether a new transmission is possible or whether the minimal bandwidths are undershot.
This method is used to check whether the delay should be extended artificially or
whether the packet is dropped. When too much bandwidth is already used (the region or the node is not available) it
might be better to drop/queue the packet and wait until the bandwidth becomes available again.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>region</code> - The current region of the node</dd>
<dd><code>mode</code> - The desired transmission mode</dd>
<dd><code>nodeCellConfiguration</code> - The cell configuration of the node that is involved in the communication</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns true when the available bandwidth is above the minimal threshold,
returns false when the available bandwidth is not above the minimal threshold.</dd>
</dl>
</li>
</ul>
<a name="availableCapacity-org.eclipse.mosaic.fed.cell.config.model.TransmissionMode-org.eclipse.mosaic.fed.cell.config.model.CNetworkProperties-org.eclipse.mosaic.lib.objects.communication.CellConfiguration-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>availableCapacity</h4>
<pre>public static&nbsp;long&nbsp;availableCapacity(<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/TransmissionMode.html" title="enum in org.eclipse.mosaic.fed.cell.config.model">TransmissionMode</a>&nbsp;mode,
<a href="../../../../../../org/eclipse/mosaic/fed/cell/config/model/CNetworkProperties.html" title="class in org.eclipse.mosaic.fed.cell.config.model">CNetworkProperties</a>&nbsp;region,
<a href="../../../../../../org/eclipse/mosaic/lib/objects/communication/CellConfiguration.html" title="class in org.eclipse.mosaic.lib.objects.communication">CellConfiguration</a>&nbsp;nodeCellConfiguration)</pre>
<div class="block">The method returns the available bandwidth for a node in a region. The
available bandwidth depends on the left capacity in the region and the
left bandwidth of the node.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mode</code> - The mode of the transmission</dd>
<dd><code>region</code> - The region where the transmission will take place</dd>
<dd><code>nodeCellConfiguration</code> - The cell configuration of the node whose bandwidth is checked</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The available bandwidth for a transmission of a node in the region.</dd>
</dl>
</li>
</ul>
<a name="getStreamingBandwidth-org.eclipse.mosaic.lib.objects.v2x.V2xMessage-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getStreamingBandwidth</h4>
<pre>public static&nbsp;long&nbsp;getStreamingBandwidth(<a href="../../../../../../org/eclipse/mosaic/lib/objects/v2x/V2xMessage.html" title="class in org.eclipse.mosaic.lib.objects.v2x">V2xMessage</a>&nbsp;v2xMessage)</pre>
<div class="block">Get the bandwidth for the stream.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>v2xMessage</code> - V2X message.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Bandwidth for the streaming in [bit/s].</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/CapacityUtility.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>Prev&nbsp;Class</li>
<li><a href="../../../../../../org/eclipse/mosaic/fed/cell/utility/DelayUtility.html" title="class in org.eclipse.mosaic.fed.cell.utility"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/eclipse/mosaic/fed/cell/utility/CapacityUtility.html" target="_top">Frames</a></li>
<li><a href="CapacityUtility.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><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&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>