blob: 002585bb558d3b919b65cc7b6f44eff2ec25eb75 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Proton DotNet: Apache.Qpid.Proton.Client.Transport.TcpTransport Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Proton DotNet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceApache.html">Apache</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid.html">Qpid</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html">Client</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport.html">Transport</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html">TcpTransport</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Apache.Qpid.Proton.Client.Transport.TcpTransport Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>A TCP only transport implementation that provides extension points for SSL and or WS based transports to add their handlers. These transports are registered with an event loop where all transport work and events are processed in serial fashion with the same thread.
<a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Client.Transport.TcpTransport:</div>
<div class="dyncontent">
<div class="center">
<img src="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.png" usemap="#Apache.Qpid.Proton.Client.Transport.TcpTransport_map" alt=""/>
<map id="Apache.Qpid.Proton.Client.Transport.TcpTransport_map" name="Apache.Qpid.Proton.Client.Transport.TcpTransport_map">
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html" title="Base transport interface which defines the API of a wire level IO transport used by the client." alt="Apache.Qpid.Proton.Client.Transport.ITransport" shape="rect" coords="0,0,301,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae7597cda059286286605477dfdb5cd3a"><td class="memItemLeft" align="right" valign="top"><a id="ae7597cda059286286605477dfdb5cd3a"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>TcpTransport</b> (<a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1TransportOptions.html">TransportOptions</a> options, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1SslOptions.html">SslOptions</a> sslOptions, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html">IEventLoop</a> eventLoop)</td></tr>
<tr class="separator:ae7597cda059286286605477dfdb5cd3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f73a3cdedfec534ee4b87acd9775633"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#a7f73a3cdedfec534ee4b87acd9775633">Close</a> ()</td></tr>
<tr class="memdesc:a7f73a3cdedfec534ee4b87acd9775633"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates an orderly close of the transport. <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#a7f73a3cdedfec534ee4b87acd9775633">More...</a><br /></td></tr>
<tr class="separator:a7f73a3cdedfec534ee4b87acd9775633"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad045327c844bc1bb92d87d89891957ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#ad045327c844bc1bb92d87d89891957ca">Connect</a> (string host, int port)</td></tr>
<tr class="memdesc:ad045327c844bc1bb92d87d89891957ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initiates the IO level connect that will trigger IO events in the transport event loop based on the outcome. <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#ad045327c844bc1bb92d87d89891957ca">More...</a><br /></td></tr>
<tr class="separator:ad045327c844bc1bb92d87d89891957ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53a741adbe72ddae6fe9a5aac6c0e2da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#a53a741adbe72ddae6fe9a5aac6c0e2da">TransportConnectedHandler</a> (Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a> &gt; connectedHandler)</td></tr>
<tr class="memdesc:a53a741adbe72ddae6fe9a5aac6c0e2da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the async connected handler that is called when a transport creates a successful connection to the remote. The handler is always invoked within the registered event loop. <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#a53a741adbe72ddae6fe9a5aac6c0e2da">More...</a><br /></td></tr>
<tr class="separator:a53a741adbe72ddae6fe9a5aac6c0e2da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad49afc8c8b542b38f2d2dfb6ef40ec27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#ad49afc8c8b542b38f2d2dfb6ef40ec27">TransportConnectFailedHandler</a> (Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a>, Exception &gt; connectFailedHandler)</td></tr>
<tr class="memdesc:ad49afc8c8b542b38f2d2dfb6ef40ec27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the async connected handler that is called when a transport fails to connect to a remote. The handler is always invoked within the registered event loop. <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#ad49afc8c8b542b38f2d2dfb6ef40ec27">More...</a><br /></td></tr>
<tr class="separator:ad49afc8c8b542b38f2d2dfb6ef40ec27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1c843ba6faf62d84533da1a49e8ac79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#ad1c843ba6faf62d84533da1a49e8ac79">TransportDisconnectedHandler</a> (Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a> &gt; disconnectedHandler)</td></tr>
<tr class="memdesc:ad1c843ba6faf62d84533da1a49e8ac79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the async disconnected handler that is called when a transport experiences a loss of connectivity with the remote. The handler is always invoked within the registered event loop. <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#ad1c843ba6faf62d84533da1a49e8ac79">More...</a><br /></td></tr>
<tr class="separator:ad1c843ba6faf62d84533da1a49e8ac79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c7069df73d3540453a5341bb09fa3c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#a2c7069df73d3540453a5341bb09fa3c3">TransportReadHandler</a> (Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a>, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> &gt; readHandler)</td></tr>
<tr class="memdesc:a2c7069df73d3540453a5341bb09fa3c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the read handler used to process incoming bytes that are read by this transport. The handler is always invoked within the registered event loop. <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#a2c7069df73d3540453a5341bb09fa3c3">More...</a><br /></td></tr>
<tr class="separator:a2c7069df73d3540453a5341bb09fa3c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6a8683e1c7e0591966a651173e2ce27"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#ac6a8683e1c7e0591966a651173e2ce27">Write</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, Action writeCompleteAction)</td></tr>
<tr class="memdesc:ac6a8683e1c7e0591966a651173e2ce27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Queues the given buffer for write using this transport and registers a completion action that will be triggered when the write is actually performed. <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1TcpTransport.html#ac6a8683e1c7e0591966a651173e2ce27">More...</a><br /></td></tr>
<tr class="separator:ac6a8683e1c7e0591966a651173e2ce27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2443f2d2e63bec8d84e9e6ea35926047"><td class="memItemLeft" align="right" valign="top"><a id="a2443f2d2e63bec8d84e9e6ea35926047"></a>
override string&#160;</td><td class="memItemRight" valign="bottom"><b>ToString</b> ()</td></tr>
<tr class="separator:a2443f2d2e63bec8d84e9e6ea35926047"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e1e62942fe952d78517b251f20fa271"><td class="memItemLeft" align="right" valign="top"><a id="a9e1e62942fe952d78517b251f20fa271"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>HandleRemoteCertificateValidation</b> (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)</td></tr>
<tr class="separator:a9e1e62942fe952d78517b251f20fa271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a95e156b6700c4949d845bfd0e66850"><td class="memItemLeft" align="right" valign="top"><a id="a7a95e156b6700c4949d845bfd0e66850"></a>
X509Certificate&#160;</td><td class="memItemRight" valign="bottom"><b>HandleLocalCertificateSelection</b> (object sender, string targetHost, X509CertificateCollection localCertificates, X509Certificate remoteCertificate, string[] acceptableIssuers)</td></tr>
<tr class="separator:a7a95e156b6700c4949d845bfd0e66850"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a9030fea58edec23fde5a2c1bae84b7ba"><td class="memItemLeft" align="right" valign="top"><a id="a9030fea58edec23fde5a2c1bae84b7ba"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsConnected</b><code> [get]</code></td></tr>
<tr class="separator:a9030fea58edec23fde5a2c1bae84b7ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa5b5b350478dab4d521d3fd5fd626a4"><td class="memItemLeft" align="right" valign="top"><a id="aaa5b5b350478dab4d521d3fd5fd626a4"></a>
string&#160;</td><td class="memItemRight" valign="bottom"><b>Host</b><code> [get]</code></td></tr>
<tr class="separator:aaa5b5b350478dab4d521d3fd5fd626a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae72da6b72ab1061658dcc645573d11ec"><td class="memItemLeft" align="right" valign="top"><a id="ae72da6b72ab1061658dcc645573d11ec"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>Port</b><code> [get]</code></td></tr>
<tr class="separator:ae72da6b72ab1061658dcc645573d11ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabb56ef74cf61eebec2c95c7638af2ca"><td class="memItemLeft" align="right" valign="top"><a id="aabb56ef74cf61eebec2c95c7638af2ca"></a>
<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html">IEventLoop</a>&#160;</td><td class="memItemRight" valign="bottom"><b>EventLoop</b><code> [get]</code></td></tr>
<tr class="separator:aabb56ef74cf61eebec2c95c7638af2ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af09f3abd8c236420c12d3570e3325891"><td class="memItemLeft" align="right" valign="top"><a id="af09f3abd8c236420c12d3570e3325891"></a>
EndPoint&#160;</td><td class="memItemRight" valign="bottom"><b>EndPoint</b><code> [get]</code></td></tr>
<tr class="separator:af09f3abd8c236420c12d3570e3325891"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add52b6029b9a4ff1455bf795f02461a0"><td class="memItemLeft" align="right" valign="top"><a id="add52b6029b9a4ff1455bf795f02461a0"></a>
IPrincipal&#160;</td><td class="memItemRight" valign="bottom"><b>LocalPrincipal</b><code> [get]</code></td></tr>
<tr class="separator:add52b6029b9a4ff1455bf795f02461a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td colspan="2" onclick="javascript:toggleInherit('properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">Apache.Qpid.Proton.Client.Transport.ITransport</a></td></tr>
<tr class="memitem:a2434b3a9c1b05f48b62a3aa2740abe5d inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html">IEventLoop</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a2434b3a9c1b05f48b62a3aa2740abe5d">EventLoop</a><code> [get]</code></td></tr>
<tr class="memdesc:a2434b3a9c1b05f48b62a3aa2740abe5d inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the event loop that this transport is registered against, the event loop should never have its lifetime linked to a transport as the client connection will use a single event loop for the duration of its lifetime. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a2434b3a9c1b05f48b62a3aa2740abe5d">More...</a><br /></td></tr>
<tr class="separator:a2434b3a9c1b05f48b62a3aa2740abe5d inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1771113f7e92925d74feaa1032c6331b inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a1771113f7e92925d74feaa1032c6331b">Host</a><code> [get]</code></td></tr>
<tr class="memdesc:a1771113f7e92925d74feaa1032c6331b inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the originally provided host address this transport was given in the connect method. Returns null if connect was not yet called. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a1771113f7e92925d74feaa1032c6331b">More...</a><br /></td></tr>
<tr class="separator:a1771113f7e92925d74feaa1032c6331b inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd56441ab40e27418bccdf60fdad9f76 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#abd56441ab40e27418bccdf60fdad9f76">Port</a><code> [get]</code></td></tr>
<tr class="memdesc:abd56441ab40e27418bccdf60fdad9f76 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the this transport was given or a default that was used in the connect method. Returns -1 if connect was not yet called. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#abd56441ab40e27418bccdf60fdad9f76">More...</a><br /></td></tr>
<tr class="separator:abd56441ab40e27418bccdf60fdad9f76 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac747ee667ba860973b36f7a91ac99c24 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="memItemLeft" align="right" valign="top">EndPoint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#ac747ee667ba860973b36f7a91ac99c24">EndPoint</a><code> [get]</code></td></tr>
<tr class="memdesc:ac747ee667ba860973b36f7a91ac99c24 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the endpoint that his transport connects to. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#ac747ee667ba860973b36f7a91ac99c24">More...</a><br /></td></tr>
<tr class="separator:ac747ee667ba860973b36f7a91ac99c24 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f5047cb5ed1ebb769edae20d8946358 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="memItemLeft" align="right" valign="top">IPrincipal&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a3f5047cb5ed1ebb769edae20d8946358">LocalPrincipal</a><code> [get]</code></td></tr>
<tr class="memdesc:a3f5047cb5ed1ebb769edae20d8946358 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a local principal that was created following successful SSL handshaking with the remote. Before a handshake or in the case of non-SSL transport types this method returns null. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a3f5047cb5ed1ebb769edae20d8946358">More...</a><br /></td></tr>
<tr class="separator:a3f5047cb5ed1ebb769edae20d8946358 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A TCP only transport implementation that provides extension points for SSL and or WS based transports to add their handlers. These transports are registered with an event loop where all transport work and events are processed in serial fashion with the same thread. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a7f73a3cdedfec534ee4b87acd9775633"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f73a3cdedfec534ee4b87acd9775633">&#9670;&nbsp;</a></span>Close()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Apache.Qpid.Proton.Client.Transport.TcpTransport.Close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiates an orderly close of the transport. </p>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#ad3b5ba31d9b8164a4517489aea4d3956">Apache.Qpid.Proton.Client.Transport.ITransport</a>.</p>
</div>
</div>
<a id="ad045327c844bc1bb92d87d89891957ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad045327c844bc1bb92d87d89891957ca">&#9670;&nbsp;</a></span>Connect()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a> Apache.Qpid.Proton.Client.Transport.TcpTransport.Connect </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>address</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>port</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Initiates the IO level connect that will trigger IO events in the transport event loop based on the outcome. </p>
<dl class="section return"><dt>Returns</dt><dd>This transport instance</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a15266c41b6e2275715100b398dc27dd3">Apache.Qpid.Proton.Client.Transport.ITransport</a>.</p>
</div>
</div>
<a id="a53a741adbe72ddae6fe9a5aac6c0e2da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53a741adbe72ddae6fe9a5aac6c0e2da">&#9670;&nbsp;</a></span>TransportConnectedHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a> Apache.Qpid.Proton.Client.Transport.TcpTransport.TransportConnectedHandler </td>
<td>(</td>
<td class="paramtype">Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a> &gt;&#160;</td>
<td class="paramname"><em>connectedHandler</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures the async connected handler that is called when a transport creates a successful connection to the remote. The handler is always invoked within the registered event loop. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">connectedHandler</td><td>Handler that is invoked on connect</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This transport instance</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a47866ee0dccbc7ec0781a4f4e0b4e771">Apache.Qpid.Proton.Client.Transport.ITransport</a>.</p>
</div>
</div>
<a id="ad49afc8c8b542b38f2d2dfb6ef40ec27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad49afc8c8b542b38f2d2dfb6ef40ec27">&#9670;&nbsp;</a></span>TransportConnectFailedHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a> Apache.Qpid.Proton.Client.Transport.TcpTransport.TransportConnectFailedHandler </td>
<td>(</td>
<td class="paramtype">Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a>, Exception &gt;&#160;</td>
<td class="paramname"><em>connectFailedHandler</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures the async connected handler that is called when a transport fails to connect to a remote. The handler is always invoked within the registered event loop. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">connectedHandler</td><td>Handler that is invoked on connect failure</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This transport instance</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a8a42651c8ff0b5b8b5f917ddf8ee6f5f">Apache.Qpid.Proton.Client.Transport.ITransport</a>.</p>
</div>
</div>
<a id="ad1c843ba6faf62d84533da1a49e8ac79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1c843ba6faf62d84533da1a49e8ac79">&#9670;&nbsp;</a></span>TransportDisconnectedHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a> Apache.Qpid.Proton.Client.Transport.TcpTransport.TransportDisconnectedHandler </td>
<td>(</td>
<td class="paramtype">Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a> &gt;&#160;</td>
<td class="paramname"><em>disconnectedHandler</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures the async disconnected handler that is called when a transport experiences a loss of connectivity with the remote. The handler is always invoked within the registered event loop. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">connectedHandler</td><td>Handler that is invoked on disconnect</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This transport instance</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a02793e1ca5ce4dd348c07f7a55a1a690">Apache.Qpid.Proton.Client.Transport.ITransport</a>.</p>
</div>
</div>
<a id="a2c7069df73d3540453a5341bb09fa3c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c7069df73d3540453a5341bb09fa3c3">&#9670;&nbsp;</a></span>TransportReadHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a> Apache.Qpid.Proton.Client.Transport.TcpTransport.TransportReadHandler </td>
<td>(</td>
<td class="paramtype">Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a>, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> &gt;&#160;</td>
<td class="paramname"><em>readHandler</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Configures the read handler used to process incoming bytes that are read by this transport. The handler is always invoked within the registered event loop. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">readHandler</td><td>Handler that is invoked on read</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This transport instance</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a220d2207ba548a0611032ef92da1b1e3">Apache.Qpid.Proton.Client.Transport.ITransport</a>.</p>
</div>
</div>
<a id="ac6a8683e1c7e0591966a651173e2ce27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6a8683e1c7e0591966a651173e2ce27">&#9670;&nbsp;</a></span>Write()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html">ITransport</a> Apache.Qpid.Proton.Client.Transport.TcpTransport.Write </td>
<td>(</td>
<td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Action&#160;</td>
<td class="paramname"><em>writeCompleteAction</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Queues the given buffer for write using this transport and registers a completion action that will be triggered when the write is actually performed. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">buffer</td><td>The buffer to write</td></tr>
<tr><td class="paramname">writeCompleteAction</td><td>optional action to be performed</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This transport instance</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Transport_1_1ITransport.html#a216b946f29cf5b90d06cf9e33e69652a">Apache.Qpid.Proton.Client.Transport.ITransport</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton.Client/Client/Transport/TcpTransport.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>