blob: 35008d94700fa88b77161cc8f35d9172e369437f [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.9.1) on Fri Sep 09 19:30:40 KST 2022 -->
<title>LocalOutputContext (Nemo Project 0.4 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-09-09">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="LocalOutputContext (Nemo Project 0.4 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LocalOutputContext.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" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.nemo.runtime.executor.transfer</a></div>
<h2 title="Class LocalOutputContext" class="title">Class LocalOutputContext</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="LocalTransferContext.html" title="class in org.apache.nemo.runtime.executor.transfer">org.apache.nemo.runtime.executor.transfer.LocalTransferContext</a></li>
<li>
<ul class="inheritance">
<li>org.apache.nemo.runtime.executor.transfer.LocalOutputContext</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.lang.AutoCloseable</code>, <code><a href="OutputContext.html" title="interface in org.apache.nemo.runtime.executor.transfer">OutputContext</a></code></dd>
</dl>
<hr>
<pre>public final class <span class="typeNameLabel">LocalOutputContext</span>
extends <a href="LocalTransferContext.html" title="class in org.apache.nemo.runtime.executor.transfer">LocalTransferContext</a>
implements <a href="OutputContext.html" title="interface in org.apache.nemo.runtime.executor.transfer">OutputContext</a></pre>
<div class="block">This class provides a data transfer interface to the sender side when both the sender and the receiver are
in the same executor. Since data serialization is unnecessary, the sender sends data without serializing
them. A single local output context represents a data transfer between two tasks.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,java.lang.String,int,int)">LocalOutputContext</a></span>&#8203;(java.lang.String&nbsp;executorId,
java.lang.String&nbsp;edgeId,
int&nbsp;srcTaskIndex,
int&nbsp;dstTaskIndex)</code></th>
<td class="colLast">
<div class="block">Creates a new local output context.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
<td class="colLast">
<div class="block">Closes this local output context.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.util.concurrent.LinkedBlockingQueue</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getQueue()">getQueue</a></span>()</code></th>
<td class="colLast">
<div class="block">Accessor method for the queue in this local output context.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isClosed()">isClosed</a></span>()</code></th>
<td class="colLast">
<div class="block">Checks whether the context has been closed.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="TransferOutputStream.html" title="interface in org.apache.nemo.runtime.executor.transfer">TransferOutputStream</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newOutputStream()">newOutputStream</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new output stream to which the sender sends its data.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.nemo.runtime.executor.transfer.LocalTransferContext">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.nemo.runtime.executor.transfer.<a href="LocalTransferContext.html" title="class in org.apache.nemo.runtime.executor.transfer">LocalTransferContext</a></h3>
<code><a href="LocalTransferContext.html#getDstTaskIndex()">getDstTaskIndex</a>, <a href="LocalTransferContext.html#getEdgeId()">getEdgeId</a>, <a href="LocalTransferContext.html#getExecutorId()">getExecutorId</a>, <a href="LocalTransferContext.html#getSrcTaskIndex()">getSrcTaskIndex</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.lang.String,java.lang.String,int,int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LocalOutputContext</h4>
<pre>public&nbsp;LocalOutputContext&#8203;(java.lang.String&nbsp;executorId,
java.lang.String&nbsp;edgeId,
int&nbsp;srcTaskIndex,
int&nbsp;dstTaskIndex)</pre>
<div class="block">Creates a new local output context.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>executorId</code> - id of the executor to which this context belong</dd>
<dd><code>edgeId</code> - id of the DAG edge</dd>
<dd><code>srcTaskIndex</code> - source task index</dd>
<dd><code>dstTaskIndex</code> - destination task index</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="close()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;close()</pre>
<div class="block">Closes this local output context.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.lang.AutoCloseable</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="OutputContext.html#close()">close</a></code>&nbsp;in interface&nbsp;<code><a href="OutputContext.html" title="interface in org.apache.nemo.runtime.executor.transfer">OutputContext</a></code></dd>
</dl>
</li>
</ul>
<a id="getQueue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueue</h4>
<pre class="methodSignature">public&nbsp;java.util.concurrent.LinkedBlockingQueue&nbsp;getQueue()
throws java.lang.RuntimeException</pre>
<div class="block">Accessor method for the queue in this local output context.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>queue to which the sender writes its data.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.RuntimeException</code> - if the context has already been closed.</dd>
</dl>
</li>
</ul>
<a id="isClosed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClosed</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isClosed()</pre>
<div class="block">Checks whether the context has been closed. It is for testing purpose.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the context has been closed.</dd>
</dl>
</li>
</ul>
<a id="newOutputStream()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>newOutputStream</h4>
<pre class="methodSignature">public&nbsp;<a href="TransferOutputStream.html" title="interface in org.apache.nemo.runtime.executor.transfer">TransferOutputStream</a>&nbsp;newOutputStream()</pre>
<div class="block">Creates a new output stream to which the sender sends its data.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="OutputContext.html#newOutputStream()">newOutputStream</a></code>&nbsp;in interface&nbsp;<code><a href="OutputContext.html" title="interface in org.apache.nemo.runtime.executor.transfer">OutputContext</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>output stream of this local output context</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LocalOutputContext.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" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>