calmnetlib/JavaDoc/com/captainalm/lib/calmnet/marshal/NetMarshalClient.html

1070 lines
61 KiB
HTML
Raw Normal View History

2023-05-23 15:24:10 +01:00
<!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 Sun Jun 11 02:31:49 BST 2023 -->
2023-05-23 15:24:10 +01:00
<title>NetMarshalClient</title>
<meta name="date" content="2023-06-11">
2023-05-23 15:24:10 +01:00
<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="NetMarshalClient";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":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";
</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="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClientWrapped.html" title="class in com.captainalm.lib.calmnet.marshal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" target="_top">Frames</a></li>
<li><a href="NetMarshalClient.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">com.captainalm.lib.calmnet.marshal</div>
<h2 title="Class NetMarshalClient" class="title">Class NetMarshalClient</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>com.captainalm.lib.calmnet.marshal.NetMarshalClient</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Closeable, java.lang.AutoCloseable</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClientWrapped.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClientWrapped</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">NetMarshalClient</span>
extends java.lang.Object
implements java.io.Closeable</pre>
<div class="block">This class provides a managed way of networking on the client side.
NOTE: Methods that are synchronised are used here, do NOT use instances of these classes as monitors.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Captain ALM</dd>
</dl>
</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="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#NetMarshalClient-java.net.DatagramSocket-java.net.InetAddress-int-java.io.InputStream-com.captainalm.lib.calmnet.packet.factory.IPacketFactory-com.captainalm.lib.calmnet.packet.PacketLoader-com.captainalm.lib.calmnet.marshal.FragmentationOptions-">NetMarshalClient</a></span>(java.net.DatagramSocket&nbsp;socketIn,
java.net.InetAddress&nbsp;remoteAddress,
int&nbsp;remotePort,
java.io.InputStream&nbsp;inputStream,
<a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory">IPacketFactory</a>&nbsp;factory,
<a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet">PacketLoader</a>&nbsp;loader,
<a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal">FragmentationOptions</a>&nbsp;fragmentationOptions)</code>
<div class="block">Constructs a new NetMarshalClient with the specified <code>DatagramSocket</code>, remote <code>InetAddress</code>, remote port, <code>InputStream</code>, <a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory"><code>IPacketFactory</code></a>, <a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet"><code>PacketLoader</code></a> and <a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><code>FragmentationOptions</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#NetMarshalClient-java.net.DatagramSocket-java.net.InetAddress-int-com.captainalm.lib.calmnet.packet.factory.IPacketFactory-com.captainalm.lib.calmnet.packet.PacketLoader-com.captainalm.lib.calmnet.marshal.FragmentationOptions-">NetMarshalClient</a></span>(java.net.DatagramSocket&nbsp;socketIn,
java.net.InetAddress&nbsp;remoteAddress,
int&nbsp;remotePort,
<a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory">IPacketFactory</a>&nbsp;factory,
<a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet">PacketLoader</a>&nbsp;loader,
<a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal">FragmentationOptions</a>&nbsp;fragmentationOptions)</code>
<div class="block">Constructs a new NetMarshalClient with the specified <code>DatagramSocket</code>, remote <code>InetAddress</code>, remote port, <a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory"><code>IPacketFactory</code></a>, <a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet"><code>PacketLoader</code></a> and <a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><code>FragmentationOptions</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#NetMarshalClient-java.net.MulticastSocket-java.net.InetAddress-int-com.captainalm.lib.calmnet.packet.factory.IPacketFactory-com.captainalm.lib.calmnet.packet.PacketLoader-com.captainalm.lib.calmnet.marshal.FragmentationOptions-">NetMarshalClient</a></span>(java.net.MulticastSocket&nbsp;socketIn,
java.net.InetAddress&nbsp;multicastGroupAddress,
int&nbsp;multicastGroupPort,
<a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory">IPacketFactory</a>&nbsp;factory,
<a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet">PacketLoader</a>&nbsp;loader,
<a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal">FragmentationOptions</a>&nbsp;fragmentationOptions)</code>
<div class="block">Constructs a new NetMarshalClient with the specified <code>MulticastSocket</code>, multicast group <code>InetAddress</code>, multicast port, <a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory"><code>IPacketFactory</code></a>, <a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet"><code>PacketLoader</code></a> and <a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><code>FragmentationOptions</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#NetMarshalClient-java.net.Socket-com.captainalm.lib.calmnet.packet.factory.IPacketFactory-com.captainalm.lib.calmnet.packet.PacketLoader-com.captainalm.lib.calmnet.marshal.FragmentationOptions-">NetMarshalClient</a></span>(java.net.Socket&nbsp;socketIn,
<a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory">IPacketFactory</a>&nbsp;factory,
<a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet">PacketLoader</a>&nbsp;loader,
<a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal">FragmentationOptions</a>&nbsp;fragmentationOptions)</code>
<div class="block">Constructs a new NetMarshalClient with the specified <code>Socket</code>, <a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory"><code>IPacketFactory</code></a>, <a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet"><code>PacketLoader</code></a> and <a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><code>FragmentationOptions</code></a>.</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="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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#arePacketsBeingRead--">arePacketsBeingRead</a></span>()</code>
<div class="block">Are <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a>s being read.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#areReceivedPacketsWaiting--">areReceivedPacketsWaiting</a></span>()</code>
<div class="block">Gets if there are received <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a>s.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#clearFragmentStorage--">clearFragmentStorage</a></span>()</code>
<div class="block">Clears the fragment storage registries if fragmentation is enabled.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#close--">close</a></span>()</code>
<div class="block">Closes the marshal, closing all its streams.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#flush--">flush</a></span>()</code>
<div class="block">Flushes the output streams.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.util.function.Consumer&lt;<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#getClosedConsumer--">getClosedConsumer</a></span>()</code>
<div class="block">Gets the <code>Consumer</code> closed consumer.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal">FragmentationOptions</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#getFragmentationOptions--">getFragmentationOptions</a></span>()</code>
<div class="block">Gets the <a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><code>FragmentationOptions</code></a> of the client.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.io.InputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#getInputStream--">getInputStream</a></span>()</code>
<div class="block">Get the input stream.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>java.io.OutputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#getOutputStream--">getOutputStream</a></span>()</code>
<div class="block">Get the output stream.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory">IPacketFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#getPacketFactory--">getPacketFactory</a></span>()</code>
<div class="block">Gets the packet factory in use.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet">PacketLoader</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#getPacketLoader--">getPacketLoader</a></span>()</code>
<div class="block">Gets the packet loader in use.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>java.util.function.BiConsumer&lt;<a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet">IPacket</a>,<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#getReceiveBiConsumer--">getReceiveBiConsumer</a></span>()</code>
<div class="block">Gets the <code>BiConsumer</code> receiver consumer.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>java.util.function.BiConsumer&lt;java.lang.Exception,<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#getReceiveExceptionBiConsumer--">getReceiveExceptionBiConsumer</a></span>()</code>
<div class="block">Gets the <code>BiConsumer</code> receive exception consumer.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>java.io.InputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#getRootInputStream--">getRootInputStream</a></span>()</code>
<div class="block">Get the root input stream.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>java.io.OutputStream</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#getRootOutputStream--">getRootOutputStream</a></span>()</code>
<div class="block">Get the root output stream.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#isRunning--">isRunning</a></span>()</code>
<div class="block">Gets if the marshal is running.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#isSSLUpgraded--">isSSLUpgraded</a></span>()</code>
<div class="block">Gets if the marshal is ssl upgraded.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>java.net.InetAddress</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#localAddress--">localAddress</a></span>()</code>
<div class="block">Get the local <code>InetAddress</code>.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#localPort--">localPort</a></span>()</code>
<div class="block">Get the local port.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#open--">open</a></span>()</code>
<div class="block">Opens the marshal.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet">IPacket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#receivePacket--">receivePacket</a></span>()</code>
<div class="block">Receives a <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a>.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet">IPacket</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#receivePacketPolled--">receivePacketPolled</a></span>()</code>
<div class="block">Receives a <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a> polled.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.net.InetAddress</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#remoteAddress--">remoteAddress</a></span>()</code>
<div class="block">Get the remote <code>InetAddress</code>.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#remotePort--">remotePort</a></span>()</code>
<div class="block">Get the remote port.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#sendPacket-com.captainalm.lib.calmnet.packet.IPacket-boolean-">sendPacket</a></span>(<a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet">IPacket</a>&nbsp;packetIn,
boolean&nbsp;directSend)</code>
<div class="block">Sends a <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a>.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#setClosedConsumer-java.util.function.Consumer-">setClosedConsumer</a></span>(java.util.function.Consumer&lt;<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;&nbsp;consumer)</code>
<div class="block">Sets the <code>Consumer</code> closed consumer.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#setPacketsShouldBeRead-boolean-">setPacketsShouldBeRead</a></span>(boolean&nbsp;shouldRead)</code>
<div class="block">Set if <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a>s should be read.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#setReceiveBiConsumer-java.util.function.BiConsumer-">setReceiveBiConsumer</a></span>(java.util.function.BiConsumer&lt;<a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet">IPacket</a>,<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;&nbsp;consumer)</code>
<div class="block">Sets the <code>BiConsumer</code> receiver consumer.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#setReceiveExceptionBiConsumer-java.util.function.BiConsumer-">setReceiveExceptionBiConsumer</a></span>(java.util.function.BiConsumer&lt;java.lang.Exception,<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;&nbsp;consumer)</code>
<div class="block">Sets the <code>BiConsumer</code> receive exception consumer.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#sslUpgradeClientSide-javax.net.ssl.SSLContext-java.lang.String-">sslUpgradeClientSide</a></span>(javax.net.ssl.SSLContext&nbsp;context,
java.lang.String&nbsp;remoteHostName)</code>
<div class="block">Performs SSL socket upgrades on client side (Use for constructed sockets).</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#sslUpgradeServerSide-javax.net.ssl.SSLContext-">sslUpgradeServerSide</a></span>(javax.net.ssl.SSLContext&nbsp;context)</code>
<div class="block">Performs SSL socket upgrades on server side (Use for accepted sockets).</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.Object</h3>
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</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="NetMarshalClient-java.net.Socket-com.captainalm.lib.calmnet.packet.factory.IPacketFactory-com.captainalm.lib.calmnet.packet.PacketLoader-com.captainalm.lib.calmnet.marshal.FragmentationOptions-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NetMarshalClient</h4>
<pre>public&nbsp;NetMarshalClient(java.net.Socket&nbsp;socketIn,
<a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory">IPacketFactory</a>&nbsp;factory,
<a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet">PacketLoader</a>&nbsp;loader,
<a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal">FragmentationOptions</a>&nbsp;fragmentationOptions)</pre>
<div class="block">Constructs a new NetMarshalClient with the specified <code>Socket</code>, <a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory"><code>IPacketFactory</code></a>, <a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet"><code>PacketLoader</code></a> and <a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><code>FragmentationOptions</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>socketIn</code> - The socket to use.</dd>
<dd><code>factory</code> - The packet factory to use.</dd>
<dd><code>loader</code> - The packet loader to use.</dd>
<dd><code>fragmentationOptions</code> - The fragmentation options, null to disable fragmentation.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - socketIn, factory or loader is null.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - Fragmentation options failed validation.</dd>
</dl>
</li>
</ul>
<a name="NetMarshalClient-java.net.MulticastSocket-java.net.InetAddress-int-com.captainalm.lib.calmnet.packet.factory.IPacketFactory-com.captainalm.lib.calmnet.packet.PacketLoader-com.captainalm.lib.calmnet.marshal.FragmentationOptions-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NetMarshalClient</h4>
<pre>public&nbsp;NetMarshalClient(java.net.MulticastSocket&nbsp;socketIn,
java.net.InetAddress&nbsp;multicastGroupAddress,
int&nbsp;multicastGroupPort,
<a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory">IPacketFactory</a>&nbsp;factory,
<a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet">PacketLoader</a>&nbsp;loader,
<a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal">FragmentationOptions</a>&nbsp;fragmentationOptions)
throws java.io.IOException</pre>
<div class="block">Constructs a new NetMarshalClient with the specified <code>MulticastSocket</code>, multicast group <code>InetAddress</code>, multicast port, <a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory"><code>IPacketFactory</code></a>, <a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet"><code>PacketLoader</code></a> and <a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><code>FragmentationOptions</code></a>.
The <code>MulticastSocket</code> will join the multicast group.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>socketIn</code> - The multicast socket to use.</dd>
<dd><code>multicastGroupAddress</code> - The multicast group address.</dd>
<dd><code>multicastGroupPort</code> - The multicast group port.</dd>
<dd><code>factory</code> - The packet factory to use.</dd>
<dd><code>loader</code> - The packet loader to use.</dd>
<dd><code>fragmentationOptions</code> - The fragmentation options, null to disable fragmentation.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - There is an error joining or multicastGroupAddress is not a multicast address.</dd>
<dd><code>java.lang.NullPointerException</code> - socketIn, multicastGroupAddress, factory or loader is null.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - multicastGroupPort is less than 0 or greater than 65535 or fragmentation options failed validation.</dd>
</dl>
</li>
</ul>
<a name="NetMarshalClient-java.net.DatagramSocket-java.net.InetAddress-int-java.io.InputStream-com.captainalm.lib.calmnet.packet.factory.IPacketFactory-com.captainalm.lib.calmnet.packet.PacketLoader-com.captainalm.lib.calmnet.marshal.FragmentationOptions-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NetMarshalClient</h4>
<pre>public&nbsp;NetMarshalClient(java.net.DatagramSocket&nbsp;socketIn,
java.net.InetAddress&nbsp;remoteAddress,
int&nbsp;remotePort,
java.io.InputStream&nbsp;inputStream,
<a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory">IPacketFactory</a>&nbsp;factory,
<a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet">PacketLoader</a>&nbsp;loader,
<a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal">FragmentationOptions</a>&nbsp;fragmentationOptions)</pre>
<div class="block">Constructs a new NetMarshalClient with the specified <code>DatagramSocket</code>, remote <code>InetAddress</code>, remote port, <code>InputStream</code>, <a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory"><code>IPacketFactory</code></a>, <a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet"><code>PacketLoader</code></a> and <a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><code>FragmentationOptions</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>socketIn</code> - The datagram socket to use.</dd>
<dd><code>remoteAddress</code> - The remote address to send data to.</dd>
<dd><code>remotePort</code> - The remote port to send data to.</dd>
<dd><code>inputStream</code> - The receiving input stream.</dd>
<dd><code>factory</code> - The packet factory to use.</dd>
<dd><code>loader</code> - The loader to use.</dd>
<dd><code>fragmentationOptions</code> - The fragmentation options, null to disable fragmentation.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - socketIn, remoteAddress, inputStream, factory or loader is null.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - remotePort is less than 0 or greater than 65535 or fragmentation options failed validation.</dd>
</dl>
</li>
</ul>
<a name="NetMarshalClient-java.net.DatagramSocket-java.net.InetAddress-int-com.captainalm.lib.calmnet.packet.factory.IPacketFactory-com.captainalm.lib.calmnet.packet.PacketLoader-com.captainalm.lib.calmnet.marshal.FragmentationOptions-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>NetMarshalClient</h4>
<pre>public&nbsp;NetMarshalClient(java.net.DatagramSocket&nbsp;socketIn,
java.net.InetAddress&nbsp;remoteAddress,
int&nbsp;remotePort,
<a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory">IPacketFactory</a>&nbsp;factory,
<a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet">PacketLoader</a>&nbsp;loader,
<a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal">FragmentationOptions</a>&nbsp;fragmentationOptions)</pre>
<div class="block">Constructs a new NetMarshalClient with the specified <code>DatagramSocket</code>, remote <code>InetAddress</code>, remote port, <a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory"><code>IPacketFactory</code></a>, <a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet"><code>PacketLoader</code></a> and <a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><code>FragmentationOptions</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>socketIn</code> - The datagram socket to use.</dd>
<dd><code>remoteAddress</code> - The remote address to send data to.</dd>
<dd><code>remotePort</code> - The remote port to send data to.</dd>
<dd><code>factory</code> - The packet factory to use.</dd>
<dd><code>loader</code> - The loader to use.</dd>
<dd><code>fragmentationOptions</code> - The fragmentation options, null to disable fragmentation.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - socketIn, remoteAddress, factory or loader is null.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - remotePort is less than 0 or greater than 65535 or fragmentation options failed validation.</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="open--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>open</h4>
<pre>public final&nbsp;void&nbsp;open()</pre>
<div class="block">Opens the marshal.</div>
</li>
</ul>
<a name="getInputStream--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInputStream</h4>
<pre>public&nbsp;java.io.InputStream&nbsp;getInputStream()</pre>
<div class="block">Get the input stream.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Gets the input stream.</dd>
</dl>
</li>
</ul>
<a name="getRootInputStream--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootInputStream</h4>
<pre>public&nbsp;java.io.InputStream&nbsp;getRootInputStream()</pre>
<div class="block">Get the root input stream.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Gets the root input stream.</dd>
</dl>
</li>
</ul>
<a name="getOutputStream--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOutputStream</h4>
<pre>public&nbsp;java.io.OutputStream&nbsp;getOutputStream()</pre>
<div class="block">Get the output stream.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Gets the output stream.</dd>
</dl>
</li>
</ul>
<a name="getRootOutputStream--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRootOutputStream</h4>
<pre>public&nbsp;java.io.OutputStream&nbsp;getRootOutputStream()</pre>
<div class="block">Get the root output stream.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Gets the root output stream.</dd>
</dl>
</li>
</ul>
<a name="getPacketFactory--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPacketFactory</h4>
<pre>public&nbsp;<a href="../../../../../com/captainalm/lib/calmnet/packet/factory/IPacketFactory.html" title="interface in com.captainalm.lib.calmnet.packet.factory">IPacketFactory</a>&nbsp;getPacketFactory()</pre>
<div class="block">Gets the packet factory in use.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The packet factory.</dd>
</dl>
</li>
</ul>
<a name="getPacketLoader--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPacketLoader</h4>
<pre>public&nbsp;<a href="../../../../../com/captainalm/lib/calmnet/packet/PacketLoader.html" title="class in com.captainalm.lib.calmnet.packet">PacketLoader</a>&nbsp;getPacketLoader()</pre>
<div class="block">Gets the packet loader in use.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The packet loader.</dd>
</dl>
</li>
</ul>
<a name="clearFragmentStorage--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clearFragmentStorage</h4>
<pre>public final&nbsp;void&nbsp;clearFragmentStorage()</pre>
<div class="block">Clears the fragment storage registries if fragmentation is enabled.
WARNING: Use of this method is not recommended.</div>
</li>
</ul>
<a name="localAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>localAddress</h4>
<pre>public&nbsp;java.net.InetAddress&nbsp;localAddress()</pre>
<div class="block">Get the local <code>InetAddress</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The local address or null.</dd>
</dl>
</li>
</ul>
<a name="localPort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>localPort</h4>
<pre>public&nbsp;int&nbsp;localPort()</pre>
<div class="block">Get the local port.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The local port or -1.</dd>
</dl>
</li>
</ul>
<a name="remoteAddress--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remoteAddress</h4>
<pre>public&nbsp;java.net.InetAddress&nbsp;remoteAddress()</pre>
<div class="block">Get the remote <code>InetAddress</code>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The remote address.</dd>
</dl>
</li>
</ul>
<a name="remotePort--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remotePort</h4>
<pre>public&nbsp;int&nbsp;remotePort()</pre>
<div class="block">Get the remote port.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The remote port or -1.</dd>
</dl>
</li>
</ul>
<a name="isRunning--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRunning</h4>
<pre>public final&nbsp;boolean&nbsp;isRunning()</pre>
<div class="block">Gets if the marshal is running.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>If the marshal is running.</dd>
</dl>
</li>
</ul>
<a name="getFragmentationOptions--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFragmentationOptions</h4>
<pre>public&nbsp;<a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal">FragmentationOptions</a>&nbsp;getFragmentationOptions()</pre>
<div class="block">Gets the <a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><code>FragmentationOptions</code></a> of the client.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The fragmentation options or null if fragmentation is disabled.</dd>
</dl>
</li>
</ul>
<a name="isSSLUpgraded--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSSLUpgraded</h4>
<pre>public final&nbsp;boolean&nbsp;isSSLUpgraded()</pre>
<div class="block">Gets if the marshal is ssl upgraded.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Is the marshal ssl upgraded.</dd>
</dl>
</li>
</ul>
<a name="sendPacket-com.captainalm.lib.calmnet.packet.IPacket-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sendPacket</h4>
<pre>public final&nbsp;void&nbsp;sendPacket(<a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet">IPacket</a>&nbsp;packetIn,
boolean&nbsp;directSend)
throws java.io.IOException,
<a href="../../../../../com/captainalm/lib/calmnet/packet/PacketException.html" title="class in com.captainalm.lib.calmnet.packet">PacketException</a></pre>
<div class="block">Sends a <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>packetIn</code> - The packet to send.</dd>
<dd><code>directSend</code> - Whether the packet should be sent directly or through the fragmentation system.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - A stream exception has occurred.</dd>
<dd><code><a href="../../../../../com/captainalm/lib/calmnet/packet/PacketException.html" title="class in com.captainalm.lib.calmnet.packet">PacketException</a></code> - An exception has occurred.</dd>
<dd><code>java.lang.NullPointerException</code> - packetIn is null.</dd>
</dl>
</li>
</ul>
<a name="flush--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>flush</h4>
<pre>public final&nbsp;void&nbsp;flush()
throws java.io.IOException</pre>
<div class="block">Flushes the output streams.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - A stream exception has occurred.</dd>
</dl>
</li>
</ul>
<a name="areReceivedPacketsWaiting--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>areReceivedPacketsWaiting</h4>
<pre>public&nbsp;boolean&nbsp;areReceivedPacketsWaiting()</pre>
<div class="block">Gets if there are received <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a>s.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>If there are received packets.</dd>
</dl>
</li>
</ul>
<a name="receivePacket--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>receivePacket</h4>
<pre>public&nbsp;<a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet">IPacket</a>&nbsp;receivePacket()
throws java.lang.InterruptedException</pre>
<div class="block">Receives a <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The received packet.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.InterruptedException</code> - A thread interruption has occurred.</dd>
</dl>
</li>
</ul>
<a name="receivePacketPolled--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>receivePacketPolled</h4>
<pre>public&nbsp;<a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet">IPacket</a>&nbsp;receivePacketPolled()</pre>
<div class="block">Receives a <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a> polled.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The received packet.</dd>
</dl>
</li>
</ul>
<a name="arePacketsBeingRead--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>arePacketsBeingRead</h4>
<pre>public&nbsp;boolean&nbsp;arePacketsBeingRead()</pre>
<div class="block">Are <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a>s being read.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Are packets being read.</dd>
</dl>
</li>
</ul>
<a name="setPacketsShouldBeRead-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setPacketsShouldBeRead</h4>
<pre>public&nbsp;void&nbsp;setPacketsShouldBeRead(boolean&nbsp;shouldRead)</pre>
<div class="block">Set if <a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet"><code>IPacket</code></a>s should be read.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>shouldRead</code> - Should packets be read.</dd>
</dl>
</li>
</ul>
<a name="sslUpgradeServerSide-javax.net.ssl.SSLContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sslUpgradeServerSide</h4>
<pre>public&nbsp;void&nbsp;sslUpgradeServerSide(javax.net.ssl.SSLContext&nbsp;context)
throws <a href="../../../../../com/captainalm/lib/calmnet/ssl/SSLUtilityException.html" title="class in com.captainalm.lib.calmnet.ssl">SSLUtilityException</a>,
java.io.IOException</pre>
<div class="block">Performs SSL socket upgrades on server side (Use for accepted sockets).
Can only be called when <a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#setPacketsShouldBeRead-boolean-"><code>setPacketsShouldBeRead(boolean)</code></a> is set to false or in a <code>BiConsumer</code>
consumer for <a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#setReceiveBiConsumer-java.util.function.BiConsumer-"><code>setReceiveBiConsumer(BiConsumer)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - The SSL context to use.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../com/captainalm/lib/calmnet/ssl/SSLUtilityException.html" title="class in com.captainalm.lib.calmnet.ssl">SSLUtilityException</a></code> - An SSL Utility exception has occurred.</dd>
<dd><code>java.io.IOException</code> - An I/O Exception has occurred.</dd>
<dd><code>java.lang.NullPointerException</code> - context is null.</dd>
<dd><code>java.lang.IllegalStateException</code> - sslUpgrade methods should be called in a BiConsumer (for setReceiveBiConsumer)
within the target NetMarshalClient or when reading packets (arePacketsBeingRead) is disabled on the NetMarshalClient.</dd>
</dl>
</li>
</ul>
<a name="sslUpgradeClientSide-javax.net.ssl.SSLContext-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sslUpgradeClientSide</h4>
<pre>public&nbsp;void&nbsp;sslUpgradeClientSide(javax.net.ssl.SSLContext&nbsp;context,
java.lang.String&nbsp;remoteHostName)
throws <a href="../../../../../com/captainalm/lib/calmnet/ssl/SSLUtilityException.html" title="class in com.captainalm.lib.calmnet.ssl">SSLUtilityException</a>,
java.io.IOException</pre>
<div class="block">Performs SSL socket upgrades on client side (Use for constructed sockets).
Can only be called when <a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#setPacketsShouldBeRead-boolean-"><code>setPacketsShouldBeRead(boolean)</code></a> is set to false or in a <code>BiConsumer</code>
consumer for <a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#setReceiveBiConsumer-java.util.function.BiConsumer-"><code>setReceiveBiConsumer(BiConsumer)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>context</code> - The SSL context to use.</dd>
<dd><code>remoteHostName</code> - The hostname of the remote server.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../com/captainalm/lib/calmnet/ssl/SSLUtilityException.html" title="class in com.captainalm.lib.calmnet.ssl">SSLUtilityException</a></code> - An SSL Utility exception has occurred.</dd>
<dd><code>java.io.IOException</code> - An I/O Exception has occurred.</dd>
<dd><code>java.lang.NullPointerException</code> - context or remoteHostName is null.</dd>
<dd><code>java.lang.IllegalStateException</code> - sslUpgrade methods should be called in a BiConsumer (for setReceiveBiConsumer)
within the target NetMarshalClient or when reading packets (arePacketsBeingRead) is disabled on the NetMarshalClient.</dd>
</dl>
</li>
</ul>
<a name="getReceiveBiConsumer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReceiveBiConsumer</h4>
<pre>public&nbsp;java.util.function.BiConsumer&lt;<a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet">IPacket</a>,<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;&nbsp;getReceiveBiConsumer()</pre>
<div class="block">Gets the <code>BiConsumer</code> receiver consumer.
WARNING: Calling <a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#sendPacket-com.captainalm.lib.calmnet.packet.IPacket-boolean-"><code>sendPacket(IPacket, boolean)</code></a> or <a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#flush--"><code>flush()</code></a> could cause full buffer hangs.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The receiver consumer or null.</dd>
</dl>
</li>
</ul>
<a name="setReceiveBiConsumer-java.util.function.BiConsumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReceiveBiConsumer</h4>
<pre>public&nbsp;void&nbsp;setReceiveBiConsumer(java.util.function.BiConsumer&lt;<a href="../../../../../com/captainalm/lib/calmnet/packet/IPacket.html" title="interface in com.captainalm.lib.calmnet.packet">IPacket</a>,<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;&nbsp;consumer)</pre>
<div class="block">Sets the <code>BiConsumer</code> receiver consumer.
WARNING: Calling <a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#sendPacket-com.captainalm.lib.calmnet.packet.IPacket-boolean-"><code>sendPacket(IPacket, boolean)</code></a> or <a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html#flush--"><code>flush()</code></a> could cause full buffer hangs.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>consumer</code> - The new receiver consumer.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - consumer is null.</dd>
</dl>
</li>
</ul>
<a name="getReceiveExceptionBiConsumer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReceiveExceptionBiConsumer</h4>
<pre>public&nbsp;java.util.function.BiConsumer&lt;java.lang.Exception,<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;&nbsp;getReceiveExceptionBiConsumer()</pre>
<div class="block">Gets the <code>BiConsumer</code> receive exception consumer.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The exception consumer or null.</dd>
</dl>
</li>
</ul>
<a name="setReceiveExceptionBiConsumer-java.util.function.BiConsumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReceiveExceptionBiConsumer</h4>
<pre>public&nbsp;void&nbsp;setReceiveExceptionBiConsumer(java.util.function.BiConsumer&lt;java.lang.Exception,<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;&nbsp;consumer)</pre>
<div class="block">Sets the <code>BiConsumer</code> receive exception consumer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>consumer</code> - The new exception consumer.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - consumer is null.</dd>
</dl>
</li>
</ul>
<a name="getClosedConsumer--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getClosedConsumer</h4>
<pre>public&nbsp;java.util.function.Consumer&lt;<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;&nbsp;getClosedConsumer()</pre>
<div class="block">Gets the <code>Consumer</code> closed consumer.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The closed consumer or null.</dd>
</dl>
</li>
</ul>
<a name="setClosedConsumer-java.util.function.Consumer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setClosedConsumer</h4>
<pre>public&nbsp;void&nbsp;setClosedConsumer(java.util.function.Consumer&lt;<a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" title="class in com.captainalm.lib.calmnet.marshal">NetMarshalClient</a>&gt;&nbsp;consumer)</pre>
<div class="block">Sets the <code>Consumer</code> closed consumer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>consumer</code> - The new closed consumer.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.NullPointerException</code> - consumer is null.</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>close</h4>
<pre>public final&nbsp;void&nbsp;close()
throws java.io.IOException</pre>
<div class="block">Closes the marshal, closing all its streams.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>java.io.Closeable</code></dd>
<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="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - An I/O Exception has occurred.</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="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../com/captainalm/lib/calmnet/marshal/FragmentationOptions.html" title="class in com.captainalm.lib.calmnet.marshal"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../com/captainalm/lib/calmnet/marshal/NetMarshalClientWrapped.html" title="class in com.captainalm.lib.calmnet.marshal"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?com/captainalm/lib/calmnet/marshal/NetMarshalClient.html" target="_top">Frames</a></li>
<li><a href="NetMarshalClient.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 ======= -->
</body>
</html>