blob: c5be4e6224abe7654521f3be3d474651d093982d [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_151) on Tue Jan 09 15:44:11 PST 2018 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GuacamoleTunnel (guacamole-common 0.9.14 API)</title>
<meta name="date" content="2018-01-09">
<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="GuacamoleTunnel (guacamole-common 0.9.14 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};
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/GuacamoleTunnel.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/apache/guacamole/net/GuacamoleSocket.html" title="interface in org.apache.guacamole.net"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/guacamole/net/InetGuacamoleSocket.html" title="class in org.apache.guacamole.net"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/guacamole/net/GuacamoleTunnel.html" target="_top">Frames</a></li>
<li><a href="GuacamoleTunnel.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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.apache.guacamole.net</div>
<h2 title="Interface GuacamoleTunnel" class="title">Interface GuacamoleTunnel</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/apache/guacamole/net/AbstractGuacamoleTunnel.html" title="class in org.apache.guacamole.net">AbstractGuacamoleTunnel</a>, <a href="../../../../org/apache/guacamole/net/DelegatingGuacamoleTunnel.html" title="class in org.apache.guacamole.net">DelegatingGuacamoleTunnel</a>, <a href="../../../../org/apache/guacamole/net/SimpleGuacamoleTunnel.html" title="class in org.apache.guacamole.net">SimpleGuacamoleTunnel</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">GuacamoleTunnel</span></pre>
<div class="block">Provides a unique identifier and synchronized access to the GuacamoleReader
and GuacamoleWriter associated with a GuacamoleSocket.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/6/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/apache/guacamole/net/GuacamoleTunnel.html#INTERNAL_DATA_OPCODE">INTERNAL_DATA_OPCODE</a></span></code>
<div class="block">The Guacamole protocol instruction opcode reserved for arbitrary
internal use by tunnel implementations.</div>
</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="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><a href="../../../../org/apache/guacamole/io/GuacamoleReader.html" title="interface in org.apache.guacamole.io">GuacamoleReader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/guacamole/net/GuacamoleTunnel.html#acquireReader--">acquireReader</a></span>()</code>
<div class="block">Acquires exclusive read access to the Guacamole instruction stream
and returns a GuacamoleReader for reading from that stream.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/guacamole/io/GuacamoleWriter.html" title="interface in org.apache.guacamole.io">GuacamoleWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/guacamole/net/GuacamoleTunnel.html#acquireWriter--">acquireWriter</a></span>()</code>
<div class="block">Acquires exclusive write access to the Guacamole instruction stream
and returns a GuacamoleWriter for writing to that stream.</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/apache/guacamole/net/GuacamoleTunnel.html#close--">close</a></span>()</code>
<div class="block">Release all resources allocated to this GuacamoleTunnel.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/guacamole/net/GuacamoleSocket.html" title="interface in org.apache.guacamole.net">GuacamoleSocket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/guacamole/net/GuacamoleTunnel.html#getSocket--">getSocket</a></span>()</code>
<div class="block">Returns the GuacamoleSocket used by this GuacamoleTunnel for reading
and writing.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/guacamole/net/GuacamoleTunnel.html#getUUID--">getUUID</a></span>()</code>
<div class="block">Returns the unique identifier associated with this GuacamoleTunnel.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/guacamole/net/GuacamoleTunnel.html#hasQueuedReaderThreads--">hasQueuedReaderThreads</a></span>()</code>
<div class="block">Returns whether there are threads waiting for read access to the
Guacamole instruction stream.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/guacamole/net/GuacamoleTunnel.html#hasQueuedWriterThreads--">hasQueuedWriterThreads</a></span>()</code>
<div class="block">Returns whether there are threads waiting for write access to the
Guacamole instruction stream.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/guacamole/net/GuacamoleTunnel.html#isOpen--">isOpen</a></span>()</code>
<div class="block">Returns whether this GuacamoleTunnel is open, or has been closed.</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/apache/guacamole/net/GuacamoleTunnel.html#releaseReader--">releaseReader</a></span>()</code>
<div class="block">Relinquishes exclusive read access to the Guacamole instruction
stream.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/guacamole/net/GuacamoleTunnel.html#releaseWriter--">releaseWriter</a></span>()</code>
<div class="block">Relinquishes exclusive write access to the Guacamole instruction
stream.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="INTERNAL_DATA_OPCODE">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>INTERNAL_DATA_OPCODE</h4>
<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> INTERNAL_DATA_OPCODE</pre>
<div class="block">The Guacamole protocol instruction opcode reserved for arbitrary
internal use by tunnel implementations. The value of this opcode is
guaranteed to be the empty string (""). Tunnel implementations may use
this opcode for any purpose. It is currently used by the HTTP tunnel to
mark the end of the HTTP response, and by the WebSocket tunnel to
transmit the tunnel UUID.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.apache.guacamole.net.GuacamoleTunnel.INTERNAL_DATA_OPCODE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="acquireReader--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acquireReader</h4>
<pre><a href="../../../../org/apache/guacamole/io/GuacamoleReader.html" title="interface in org.apache.guacamole.io">GuacamoleReader</a>&nbsp;acquireReader()</pre>
<div class="block">Acquires exclusive read access to the Guacamole instruction stream
and returns a GuacamoleReader for reading from that stream.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A GuacamoleReader for reading from the Guacamole instruction
stream.</dd>
</dl>
</li>
</ul>
<a name="releaseReader--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseReader</h4>
<pre>void&nbsp;releaseReader()</pre>
<div class="block">Relinquishes exclusive read access to the Guacamole instruction
stream. This function should be called whenever a thread finishes using
a GuacamoleTunnel's GuacamoleReader.</div>
</li>
</ul>
<a name="hasQueuedReaderThreads--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasQueuedReaderThreads</h4>
<pre>boolean&nbsp;hasQueuedReaderThreads()</pre>
<div class="block">Returns whether there are threads waiting for read access to the
Guacamole instruction stream.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if threads are waiting for read access the Guacamole
instruction stream, false otherwise.</dd>
</dl>
</li>
</ul>
<a name="acquireWriter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>acquireWriter</h4>
<pre><a href="../../../../org/apache/guacamole/io/GuacamoleWriter.html" title="interface in org.apache.guacamole.io">GuacamoleWriter</a>&nbsp;acquireWriter()</pre>
<div class="block">Acquires exclusive write access to the Guacamole instruction stream
and returns a GuacamoleWriter for writing to that stream.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A GuacamoleWriter for writing to the Guacamole instruction
stream.</dd>
</dl>
</li>
</ul>
<a name="releaseWriter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>releaseWriter</h4>
<pre>void&nbsp;releaseWriter()</pre>
<div class="block">Relinquishes exclusive write access to the Guacamole instruction
stream. This function should be called whenever a thread finishes using
a GuacamoleTunnel's GuacamoleWriter.</div>
</li>
</ul>
<a name="hasQueuedWriterThreads--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasQueuedWriterThreads</h4>
<pre>boolean&nbsp;hasQueuedWriterThreads()</pre>
<div class="block">Returns whether there are threads waiting for write access to the
Guacamole instruction stream.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if threads are waiting for write access the Guacamole
instruction stream, false otherwise.</dd>
</dl>
</li>
</ul>
<a name="getUUID--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUUID</h4>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util">UUID</a>&nbsp;getUUID()</pre>
<div class="block">Returns the unique identifier associated with this GuacamoleTunnel.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The unique identifier associated with this GuacamoleTunnel.</dd>
</dl>
</li>
</ul>
<a name="getSocket--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSocket</h4>
<pre><a href="../../../../org/apache/guacamole/net/GuacamoleSocket.html" title="interface in org.apache.guacamole.net">GuacamoleSocket</a>&nbsp;getSocket()</pre>
<div class="block">Returns the GuacamoleSocket used by this GuacamoleTunnel for reading
and writing.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The GuacamoleSocket used by this GuacamoleTunnel.</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>void&nbsp;close()
throws <a href="../../../../org/apache/guacamole/GuacamoleException.html" title="class in org.apache.guacamole">GuacamoleException</a></pre>
<div class="block">Release all resources allocated to this GuacamoleTunnel.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/guacamole/GuacamoleException.html" title="class in org.apache.guacamole">GuacamoleException</a></code> - if an error occurs while releasing
resources.</dd>
</dl>
</li>
</ul>
<a name="isOpen--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isOpen</h4>
<pre>boolean&nbsp;isOpen()</pre>
<div class="block">Returns whether this GuacamoleTunnel is open, or has been closed.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this GuacamoleTunnel is open, false if it is closed.</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/GuacamoleTunnel.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/apache/guacamole/net/GuacamoleSocket.html" title="interface in org.apache.guacamole.net"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/guacamole/net/InetGuacamoleSocket.html" title="class in org.apache.guacamole.net"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/guacamole/net/GuacamoleTunnel.html" target="_top">Frames</a></li>
<li><a href="GuacamoleTunnel.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><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&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; 2018. All rights reserved.</small></p>
</body>
</html>