source: flair-dev/tags/0.0.2/doc/Flair/classflair_1_1core_1_1_connected_socket.html

Last change on this file was 36, checked in by Sanahuja Guillaume, 7 years ago

m

File size: 37.4 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.9.1"/>
7<title>Flair: flair::core::ConnectedSocket Class Reference</title>
8<link href="tabs.css" rel="stylesheet" type="text/css"/>
9<script type="text/javascript" src="jquery.js"></script>
10<script type="text/javascript" src="dynsections.js"></script>
11<link href="navtree.css" rel="stylesheet" type="text/css"/>
12<script type="text/javascript" src="resize.js"></script>
13<script type="text/javascript" src="navtreedata.js"></script>
14<script type="text/javascript" src="navtree.js"></script>
15<script type="text/javascript">
16 $(document).ready(initResizable);
17 $(window).load(resizeHeight);
18</script>
19<link href="search/search.css" rel="stylesheet" type="text/css"/>
20<script type="text/javascript" src="search/searchdata.js"></script>
21<script type="text/javascript" src="search/search.js"></script>
22<script type="text/javascript">
23 $(document).ready(function() { init_search(); });
24</script>
25<link href="doxygen.css" rel="stylesheet" type="text/css" />
26</head>
27<body>
28<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
29<div id="titlearea">
30<table cellspacing="0" cellpadding="0">
31 <tbody>
32 <tr style="height: 56px;">
33 <td id="projectlogo"><img alt="Logo" src="logo_hds.png"/></td>
34 <td style="padding-left: 0.5em;">
35 <div id="projectname">Flair
36 </div>
37 <div id="projectbrief">Framework Libre Air</div>
38 </td>
39 </tr>
40 </tbody>
41</table>
42</div>
43<!-- end header part -->
44<!-- Generated by Doxygen 1.8.9.1 -->
45<script type="text/javascript">
46var searchBox = new SearchBox("searchBox", "search",false,'Search');
47</script>
48 <div id="navrow1" class="tabs">
49 <ul class="tablist">
50 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
51 <li><a href="namespaces.html"><span>Namespaces</span></a></li>
52 <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
53 <li><a href="files.html"><span>Files</span></a></li>
54 <li>
55 <div id="MSearchBox" class="MSearchBoxInactive">
56 <span class="left">
57 <img id="MSearchSelect" src="search/mag_sel.png"
58 onmouseover="return searchBox.OnSearchSelectShow()"
59 onmouseout="return searchBox.OnSearchSelectHide()"
60 alt=""/>
61 <input type="text" id="MSearchField" value="Search" accesskey="S"
62 onfocus="searchBox.OnSearchFieldFocus(true)"
63 onblur="searchBox.OnSearchFieldFocus(false)"
64 onkeyup="searchBox.OnSearchFieldChange(event)"/>
65 </span><span class="right">
66 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
67 </span>
68 </div>
69 </li>
70 </ul>
71 </div>
72 <div id="navrow2" class="tabs2">
73 <ul class="tablist">
74 <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
75 <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
76 <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
77 <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
78 </ul>
79 </div>
80</div><!-- top -->
81<div id="side-nav" class="ui-resizable side-nav-resizable">
82 <div id="nav-tree">
83 <div id="nav-tree-contents">
84 <div id="nav-sync" class="sync"></div>
85 </div>
86 </div>
87 <div id="splitbar" style="-moz-user-select:none;"
88 class="ui-resizable-handle">
89 </div>
90</div>
91<script type="text/javascript">
92$(document).ready(function(){initNavTree('classflair_1_1core_1_1_connected_socket.html','');});
93</script>
94<div id="doc-content">
95<!-- window showing the filter options -->
96<div id="MSearchSelectWindow"
97 onmouseover="return searchBox.OnSearchSelectShow()"
98 onmouseout="return searchBox.OnSearchSelectHide()"
99 onkeydown="return searchBox.OnSearchSelectKey(event)">
100</div>
101
102<!-- iframe showing the search results (closed by default) -->
103<div id="MSearchResultsWindow">
104<iframe src="javascript:void(0)" frameborder="0"
105 name="MSearchResults" id="MSearchResults">
106</iframe>
107</div>
108
109<div class="header">
110 <div class="summary">
111<a href="#pub-methods">Public Member Functions</a> &#124;
112<a href="classflair_1_1core_1_1_connected_socket-members.html">List of all members</a> </div>
113 <div class="headertitle">
114<div class="title">flair::core::ConnectedSocket Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
115</div><!--header-->
116<div class="contents">
117
118<p>Interface class encapsulating a connected socket. Preserves packets order and guaranty delivery.
119 <a href="classflair_1_1core_1_1_connected_socket.html#details">More...</a></p>
120
121<p><code>#include &lt;<a class="el" href="_connected_socket_8h_source.html">ConnectedSocket.h</a>&gt;</code></p>
122<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
123 <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for flair::core::ConnectedSocket:</div>
124<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
125</div>
126<div id="dynsection-0-content" class="dyncontent" style="display:none;">
127 <div class="center">
128 <img src="classflair_1_1core_1_1_connected_socket.png" usemap="#flair::core::ConnectedSocket_map" alt=""/>
129 <map id="flair::core::ConnectedSocket_map" name="flair::core::ConnectedSocket_map">
130<area href="classflair_1_1core_1_1_object.html" title="Base class for all Framework&#39;s classes. " alt="flair::core::Object" shape="rect" coords="90,0,261,24"/>
131<area href="classflair_1_1core_1_1_tcp_socket.html" title="Class encapsulating a TCP socket. " alt="flair::core::TcpSocket" shape="rect" coords="0,112,171,136"/>
132<area href="classflair_1_1core_1_1_udt_socket.html" title="Class encapsulating a UDT socket. " alt="flair::core::UdtSocket" shape="rect" coords="181,112,352,136"/>
133</map>
134 </div></div>
135<table class="memberdecls">
136<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
137Public Member Functions</h2></td></tr>
138<tr class="memitem:a61c0bbd4147f994cc2f0276cc6982447"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_connected_socket.html#a61c0bbd4147f994cc2f0276cc6982447">ConnectedSocket</a> (const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> *parent, const std::string name)</td></tr>
139<tr class="memdesc:a61c0bbd4147f994cc2f0276cc6982447"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a61c0bbd4147f994cc2f0276cc6982447">More...</a><br /></td></tr>
140<tr class="separator:a61c0bbd4147f994cc2f0276cc6982447"><td class="memSeparator" colspan="2">&#160;</td></tr>
141<tr class="memitem:ad4e96a4fead5a5a1c038a31fa7dfd36b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_connected_socket.html#ad4e96a4fead5a5a1c038a31fa7dfd36b">~ConnectedSocket</a> ()</td></tr>
142<tr class="memdesc:ad4e96a4fead5a5a1c038a31fa7dfd36b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#ad4e96a4fead5a5a1c038a31fa7dfd36b">More...</a><br /></td></tr>
143<tr class="separator:ad4e96a4fead5a5a1c038a31fa7dfd36b"><td class="memSeparator" colspan="2">&#160;</td></tr>
144<tr class="memitem:ab522b80d805132cd0762f44852085613"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_connected_socket.html#ab522b80d805132cd0762f44852085613">Listen</a> (const unsigned int port, const std::string localAddress=&quot;ANY&quot;)=0</td></tr>
145<tr class="memdesc:ab522b80d805132cd0762f44852085613"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a socket which listens on a specific port/address. <a href="#ab522b80d805132cd0762f44852085613">More...</a><br /></td></tr>
146<tr class="separator:ab522b80d805132cd0762f44852085613"><td class="memSeparator" colspan="2">&#160;</td></tr>
147<tr class="memitem:a8c89979efaba9298d32c58a07021f2e0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classflair_1_1core_1_1_connected_socket.html">ConnectedSocket</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_connected_socket.html#a8c89979efaba9298d32c58a07021f2e0">Accept</a> (<a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> timeout)=0</td></tr>
148<tr class="memdesc:a8c89979efaba9298d32c58a07021f2e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a socket on a new incoming connexion. <a href="#a8c89979efaba9298d32c58a07021f2e0">More...</a><br /></td></tr>
149<tr class="separator:a8c89979efaba9298d32c58a07021f2e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
150<tr class="memitem:aebfdaebe07aee9b77b75d56e61fd6926"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_connected_socket.html#aebfdaebe07aee9b77b75d56e61fd6926">Connect</a> (const unsigned int port, const std::string distantAddress, <a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> timeout)=0</td></tr>
151<tr class="memdesc:aebfdaebe07aee9b77b75d56e61fd6926"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a socket connected to a distant host. <a href="#aebfdaebe07aee9b77b75d56e61fd6926">More...</a><br /></td></tr>
152<tr class="separator:aebfdaebe07aee9b77b75d56e61fd6926"><td class="memSeparator" colspan="2">&#160;</td></tr>
153<tr class="memitem:aed7d5a9e49996bf672050f95f82d85b4"><td class="memItemLeft" align="right" valign="top">virtual ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_connected_socket.html#aed7d5a9e49996bf672050f95f82d85b4">SendMessage</a> (const char *message, size_t message_len, <a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> timeout)=0</td></tr>
154<tr class="memdesc:aed7d5a9e49996bf672050f95f82d85b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send a message. <a href="#aed7d5a9e49996bf672050f95f82d85b4">More...</a><br /></td></tr>
155<tr class="separator:aed7d5a9e49996bf672050f95f82d85b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
156<tr class="memitem:ade302ba4b2afddd6b421823a261f01c9"><td class="memItemLeft" align="right" valign="top">virtual ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_connected_socket.html#ade302ba4b2afddd6b421823a261f01c9">RecvMessage</a> (char *buf, size_t buf_len, <a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> timeout)=0</td></tr>
157<tr class="memdesc:ade302ba4b2afddd6b421823a261f01c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive a message. <a href="#ade302ba4b2afddd6b421823a261f01c9">More...</a><br /></td></tr>
158<tr class="separator:ade302ba4b2afddd6b421823a261f01c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
159<tr class="memitem:a0b9c506b8cb481d90e00c487bf48a169"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b9c506b8cb481d90e00c487bf48a169"></a>
160std::string&#160;</td><td class="memItemRight" valign="bottom"><b>ReadString</b> (const size_t &amp;stringLength, <a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> timeout)</td></tr>
161<tr class="separator:a0b9c506b8cb481d90e00c487bf48a169"><td class="memSeparator" colspan="2">&#160;</td></tr>
162<tr class="memitem:ac3de6fad3ddd34fb7f9928e04abdc746"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3de6fad3ddd34fb7f9928e04abdc746"></a>
163uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>ReadUInt16</b> (<a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> const &amp;timeout)</td></tr>
164<tr class="separator:ac3de6fad3ddd34fb7f9928e04abdc746"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:aad9de20aee680674861f6ee216a12c82"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad9de20aee680674861f6ee216a12c82"></a>
166void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteUInt16</b> (uint16_t const &amp;data, <a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> const &amp;timeout)</td></tr>
167<tr class="separator:aad9de20aee680674861f6ee216a12c82"><td class="memSeparator" colspan="2">&#160;</td></tr>
168<tr class="memitem:ae718da5dcb14ba66ef03c645c922b9cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae718da5dcb14ba66ef03c645c922b9cb"></a>
169uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>ReadUInt32</b> (<a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> const &amp;timeout)</td></tr>
170<tr class="separator:ae718da5dcb14ba66ef03c645c922b9cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
171<tr class="memitem:a74f5b08f78dd97aea132bcdfe2cb191c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a74f5b08f78dd97aea132bcdfe2cb191c"></a>
172void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteUInt32</b> (uint32_t const &amp;data, <a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a> const &amp;timeout)</td></tr>
173<tr class="separator:a74f5b08f78dd97aea132bcdfe2cb191c"><td class="memSeparator" colspan="2">&#160;</td></tr>
174<tr class="memitem:a01410482ffeca813adcd5240cc69292d"><td class="memItemLeft" align="right" valign="top">virtual uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_connected_socket.html#a01410482ffeca813adcd5240cc69292d">NetworkToHost16</a> (uint16_t data)=0</td></tr>
175<tr class="memdesc:a01410482ffeca813adcd5240cc69292d"><td class="mdescLeft">&#160;</td><td class="mdescRight">! See <a class="el" href="_socket_8h.html" title="Class defining a UDP socket. ">Socket.h</a> for a more generic implementation of network/host endianness <a href="#a01410482ffeca813adcd5240cc69292d">More...</a><br /></td></tr>
176<tr class="separator:a01410482ffeca813adcd5240cc69292d"><td class="memSeparator" colspan="2">&#160;</td></tr>
177<tr class="memitem:ae5dfd9beefddecdb7d2bcb3da2f18aae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5dfd9beefddecdb7d2bcb3da2f18aae"></a>
178virtual uint16_t&#160;</td><td class="memItemRight" valign="bottom"><b>HostToNetwork16</b> (uint16_t data)=0</td></tr>
179<tr class="separator:ae5dfd9beefddecdb7d2bcb3da2f18aae"><td class="memSeparator" colspan="2">&#160;</td></tr>
180<tr class="memitem:a53ee892cea1f2937756b7aadc6e96d9e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53ee892cea1f2937756b7aadc6e96d9e"></a>
181virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>NetworkToHost32</b> (uint32_t data)=0</td></tr>
182<tr class="separator:a53ee892cea1f2937756b7aadc6e96d9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
183<tr class="memitem:aabc9a5e832761533b96f309f8142ecb7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabc9a5e832761533b96f309f8142ecb7"></a>
184virtual uint32_t&#160;</td><td class="memItemRight" valign="bottom"><b>HostToNetwork32</b> (uint32_t data)=0</td></tr>
185<tr class="separator:aabc9a5e832761533b96f309f8142ecb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
186<tr class="inherit_header pub_methods_classflair_1_1core_1_1_object"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classflair_1_1core_1_1_object')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classflair_1_1core_1_1_object.html">flair::core::Object</a></td></tr>
187<tr class="memitem:aec92383fd5bf68d9df10414862b7e95c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#aec92383fd5bf68d9df10414862b7e95c">Object</a> (const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> *parent=NULL, std::string name=&quot;&quot;, std::string type=&quot;&quot;)</td></tr>
188<tr class="memdesc:aec92383fd5bf68d9df10414862b7e95c inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#aec92383fd5bf68d9df10414862b7e95c">More...</a><br /></td></tr>
189<tr class="separator:aec92383fd5bf68d9df10414862b7e95c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
190<tr class="memitem:aa2bde0e6677bbef705c96c93cb06ad09 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#aa2bde0e6677bbef705c96c93cb06ad09">~Object</a> ()</td></tr>
191<tr class="memdesc:aa2bde0e6677bbef705c96c93cb06ad09 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#aa2bde0e6677bbef705c96c93cb06ad09">More...</a><br /></td></tr>
192<tr class="separator:aa2bde0e6677bbef705c96c93cb06ad09 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
193<tr class="memitem:a9b0344dff7e1c05424d9152c8274523a inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a9b0344dff7e1c05424d9152c8274523a">ObjectName</a> (void) const </td></tr>
194<tr class="memdesc:a9b0344dff7e1c05424d9152c8274523a inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name. <a href="#a9b0344dff7e1c05424d9152c8274523a">More...</a><br /></td></tr>
195<tr class="separator:a9b0344dff7e1c05424d9152c8274523a inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
196<tr class="memitem:a609a250ec037fbcaf8957c8f1dcbfc53 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a609a250ec037fbcaf8957c8f1dcbfc53">ObjectType</a> (void) const </td></tr>
197<tr class="memdesc:a609a250ec037fbcaf8957c8f1dcbfc53 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type. <a href="#a609a250ec037fbcaf8957c8f1dcbfc53">More...</a><br /></td></tr>
198<tr class="separator:a609a250ec037fbcaf8957c8f1dcbfc53 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
199<tr class="memitem:a360c112cc3017a5152ebf6e84d2efa70 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a360c112cc3017a5152ebf6e84d2efa70">Parent</a> (void) const </td></tr>
200<tr class="memdesc:a360c112cc3017a5152ebf6e84d2efa70 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parent. <a href="#a360c112cc3017a5152ebf6e84d2efa70">More...</a><br /></td></tr>
201<tr class="separator:a360c112cc3017a5152ebf6e84d2efa70 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
202<tr class="memitem:ae22db4d723ec2d50b3ba48f26a6a770c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#ae22db4d723ec2d50b3ba48f26a6a770c">TypeChilds</a> (void) const </td></tr>
203<tr class="memdesc:ae22db4d723ec2d50b3ba48f26a6a770c inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Childs of the same type. <a href="#ae22db4d723ec2d50b3ba48f26a6a770c">More...</a><br /></td></tr>
204<tr class="separator:ae22db4d723ec2d50b3ba48f26a6a770c inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
205<tr class="memitem:a344f81cd35805a9501098bf727ac1a10 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a344f81cd35805a9501098bf727ac1a10">Childs</a> (void) const </td></tr>
206<tr class="memdesc:a344f81cd35805a9501098bf727ac1a10 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Childs. <a href="#a344f81cd35805a9501098bf727ac1a10">More...</a><br /></td></tr>
207<tr class="separator:a344f81cd35805a9501098bf727ac1a10 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
208<tr class="memitem:af001feba14fc053aa778e61080a0b4cf inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#af001feba14fc053aa778e61080a0b4cf">Information</a> (const char *function, int line, const char *format,...) const </td></tr>
209<tr class="memdesc:af001feba14fc053aa778e61080a0b4cf inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted information. <a href="#af001feba14fc053aa778e61080a0b4cf">More...</a><br /></td></tr>
210<tr class="separator:af001feba14fc053aa778e61080a0b4cf inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
211<tr class="memitem:a168b18451b2ee6126e1e81d452005ff6 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a168b18451b2ee6126e1e81d452005ff6">Warning</a> (const char *function, const char *format,...) const </td></tr>
212<tr class="memdesc:a168b18451b2ee6126e1e81d452005ff6 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted warning. <a href="#a168b18451b2ee6126e1e81d452005ff6">More...</a><br /></td></tr>
213<tr class="separator:a168b18451b2ee6126e1e81d452005ff6 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
214<tr class="memitem:a3ca9694d29ec2b0491739879685df5ca inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a3ca9694d29ec2b0491739879685df5ca">Error</a> (const char *function, const char *format,...) const </td></tr>
215<tr class="memdesc:a3ca9694d29ec2b0491739879685df5ca inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formatted error. <a href="#a3ca9694d29ec2b0491739879685df5ca">More...</a><br /></td></tr>
216<tr class="separator:a3ca9694d29ec2b0491739879685df5ca inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
217<tr class="memitem:a36cdd7f556e78b1bddd1d1fe4264bb85 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classflair_1_1core_1_1_object.html#a36cdd7f556e78b1bddd1d1fe4264bb85">ErrorOccured</a> (bool recursive=true) const </td></tr>
218<tr class="memdesc:a36cdd7f556e78b1bddd1d1fe4264bb85 inherit pub_methods_classflair_1_1core_1_1_object"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has an errror occured? <a href="#a36cdd7f556e78b1bddd1d1fe4264bb85">More...</a><br /></td></tr>
219<tr class="separator:a36cdd7f556e78b1bddd1d1fe4264bb85 inherit pub_methods_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
220</table><table class="memberdecls">
221<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
222Additional Inherited Members</h2></td></tr>
223<tr class="inherit_header pub_types_classflair_1_1core_1_1_object"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classflair_1_1core_1_1_object')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classflair_1_1core_1_1_object.html">flair::core::Object</a></td></tr>
224<tr class="memitem:aed5fccda511f97487040fed29f4efc97 inherit pub_types_classflair_1_1core_1_1_object"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed5fccda511f97487040fed29f4efc97"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>color_t</b> { <b>Auto</b> = 0,
225<b>Red</b> = 31,
226<b>Green</b> = 32,
227<b>Orange</b> = 33
228 }</td></tr>
229<tr class="separator:aed5fccda511f97487040fed29f4efc97 inherit pub_types_classflair_1_1core_1_1_object"><td class="memSeparator" colspan="2">&#160;</td></tr>
230</table>
231<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
232<div class="textblock"><p>Interface class encapsulating a connected socket. Preserves packets order and guaranty delivery. </p>
233</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
234<a class="anchor" id="a61c0bbd4147f994cc2f0276cc6982447"></a>
235<div class="memitem">
236<div class="memproto">
237 <table class="memname">
238 <tr>
239 <td class="memname">flair::core::ConnectedSocket::ConnectedSocket </td>
240 <td>(</td>
241 <td class="paramtype">const <a class="el" href="classflair_1_1core_1_1_object.html">Object</a> *&#160;</td>
242 <td class="paramname"><em>parent</em>, </td>
243 </tr>
244 <tr>
245 <td class="paramkey"></td>
246 <td></td>
247 <td class="paramtype">const std::string&#160;</td>
248 <td class="paramname"><em>name</em>&#160;</td>
249 </tr>
250 <tr>
251 <td></td>
252 <td>)</td>
253 <td></td><td></td>
254 </tr>
255 </table>
256</div><div class="memdoc">
257
258<p>Constructor. </p>
259
260</div>
261</div>
262<a class="anchor" id="ad4e96a4fead5a5a1c038a31fa7dfd36b"></a>
263<div class="memitem">
264<div class="memproto">
265 <table class="memname">
266 <tr>
267 <td class="memname">flair::core::ConnectedSocket::~ConnectedSocket </td>
268 <td>(</td>
269 <td class="paramname"></td><td>)</td>
270 <td></td>
271 </tr>
272 </table>
273</div><div class="memdoc">
274
275<p>Destructor. </p>
276
277</div>
278</div>
279<h2 class="groupheader">Member Function Documentation</h2>
280<a class="anchor" id="ab522b80d805132cd0762f44852085613"></a>
281<div class="memitem">
282<div class="memproto">
283<table class="mlabels">
284 <tr>
285 <td class="mlabels-left">
286 <table class="memname">
287 <tr>
288 <td class="memname">virtual void flair::core::ConnectedSocket::Listen </td>
289 <td>(</td>
290 <td class="paramtype">const unsigned int&#160;</td>
291 <td class="paramname"><em>port</em>, </td>
292 </tr>
293 <tr>
294 <td class="paramkey"></td>
295 <td></td>
296 <td class="paramtype">const std::string&#160;</td>
297 <td class="paramname"><em>localAddress</em> = <code>&quot;ANY&quot;</code>&#160;</td>
298 </tr>
299 <tr>
300 <td></td>
301 <td>)</td>
302 <td></td><td></td>
303 </tr>
304 </table>
305 </td>
306 <td class="mlabels-right">
307<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
308 </tr>
309</table>
310</div><div class="memdoc">
311
312<p>Returns a socket which listens on a specific port/address. </p>
313<dl class="params"><dt>Parameters</dt><dd>
314 <table class="params">
315 <tr><td class="paramname">const</td><td>Object* parentObject </td></tr>
316 <tr><td class="paramname">const</td><td>string name </td></tr>
317 <tr><td class="paramname">unsigned</td><td>int port </td></tr>
318 <tr><td class="paramname">const</td><td>localAddress (defaults to any) </td></tr>
319 </table>
320 </dd>
321</dl>
322
323<p>Implemented in <a class="el" href="classflair_1_1core_1_1_udt_socket.html#a11808b6bc370de061d19bd10dddc662e">flair::core::UdtSocket</a>, and <a class="el" href="classflair_1_1core_1_1_tcp_socket.html#a7eaffe48d70e5119182bdb5846c6889d">flair::core::TcpSocket</a>.</p>
324
325</div>
326</div>
327<a class="anchor" id="a8c89979efaba9298d32c58a07021f2e0"></a>
328<div class="memitem">
329<div class="memproto">
330<table class="mlabels">
331 <tr>
332 <td class="mlabels-left">
333 <table class="memname">
334 <tr>
335 <td class="memname">virtual <a class="el" href="classflair_1_1core_1_1_connected_socket.html">ConnectedSocket</a>* flair::core::ConnectedSocket::Accept </td>
336 <td>(</td>
337 <td class="paramtype"><a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a>&#160;</td>
338 <td class="paramname"><em>timeout</em></td><td>)</td>
339 <td></td>
340 </tr>
341 </table>
342 </td>
343 <td class="mlabels-right">
344<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
345 </tr>
346</table>
347</div><div class="memdoc">
348
349<p>Returns a socket on a new incoming connexion. </p>
350<dl class="params"><dt>Parameters</dt><dd>
351 <table class="params">
352 <tr><td class="paramname"><a class="el" href="classflair_1_1core_1_1_connected_socket.html" title="Interface class encapsulating a connected socket. Preserves packets order and guaranty delivery...">ConnectedSocket</a></td><td>&amp;listeningSocket </td></tr>
353 </table>
354 </dd>
355</dl>
356
357<p>Implemented in <a class="el" href="classflair_1_1core_1_1_udt_socket.html#a358a8188b065b8a7fe82c1a8e594e9fb">flair::core::UdtSocket</a>, and <a class="el" href="classflair_1_1core_1_1_tcp_socket.html#a55d90b894a14900d2a84a7772124727d">flair::core::TcpSocket</a>.</p>
358
359</div>
360</div>
361<a class="anchor" id="aebfdaebe07aee9b77b75d56e61fd6926"></a>
362<div class="memitem">
363<div class="memproto">
364<table class="mlabels">
365 <tr>
366 <td class="mlabels-left">
367 <table class="memname">
368 <tr>
369 <td class="memname">virtual bool flair::core::ConnectedSocket::Connect </td>
370 <td>(</td>
371 <td class="paramtype">const unsigned int&#160;</td>
372 <td class="paramname"><em>port</em>, </td>
373 </tr>
374 <tr>
375 <td class="paramkey"></td>
376 <td></td>
377 <td class="paramtype">const std::string&#160;</td>
378 <td class="paramname"><em>distantAddress</em>, </td>
379 </tr>
380 <tr>
381 <td class="paramkey"></td>
382 <td></td>
383 <td class="paramtype"><a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a>&#160;</td>
384 <td class="paramname"><em>timeout</em>&#160;</td>
385 </tr>
386 <tr>
387 <td></td>
388 <td>)</td>
389 <td></td><td></td>
390 </tr>
391 </table>
392 </td>
393 <td class="mlabels-right">
394<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
395 </tr>
396</table>
397</div><div class="memdoc">
398
399<p>Returns a socket connected to a distant host. </p>
400<dl class="params"><dt>Parameters</dt><dd>
401 <table class="params">
402 <tr><td class="paramname">const</td><td>Object* parentObject </td></tr>
403 <tr><td class="paramname">const</td><td>string name </td></tr>
404 <tr><td class="paramname">unsigned</td><td>int port </td></tr>
405 <tr><td class="paramname">const</td><td>distantAddress </td></tr>
406 <tr><td class="paramname">timeout</td><td>timeout (in milliseconds) </td></tr>
407 </table>
408 </dd>
409</dl>
410
411<p>Implemented in <a class="el" href="classflair_1_1core_1_1_udt_socket.html#a52ce6ff9c4c87c626338987b0b4f2fd1">flair::core::UdtSocket</a>, and <a class="el" href="classflair_1_1core_1_1_tcp_socket.html#ac87b68e327a73dada17b3d93dab7929c">flair::core::TcpSocket</a>.</p>
412
413</div>
414</div>
415<a class="anchor" id="aed7d5a9e49996bf672050f95f82d85b4"></a>
416<div class="memitem">
417<div class="memproto">
418<table class="mlabels">
419 <tr>
420 <td class="mlabels-left">
421 <table class="memname">
422 <tr>
423 <td class="memname">virtual ssize_t flair::core::ConnectedSocket::SendMessage </td>
424 <td>(</td>
425 <td class="paramtype">const char *&#160;</td>
426 <td class="paramname"><em>message</em>, </td>
427 </tr>
428 <tr>
429 <td class="paramkey"></td>
430 <td></td>
431 <td class="paramtype">size_t&#160;</td>
432 <td class="paramname"><em>message_len</em>, </td>
433 </tr>
434 <tr>
435 <td class="paramkey"></td>
436 <td></td>
437 <td class="paramtype"><a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a>&#160;</td>
438 <td class="paramname"><em>timeout</em>&#160;</td>
439 </tr>
440 <tr>
441 <td></td>
442 <td>)</td>
443 <td></td><td></td>
444 </tr>
445 </table>
446 </td>
447 <td class="mlabels-right">
448<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
449 </tr>
450</table>
451</div><div class="memdoc">
452
453<p>Send a message. </p>
454<dl class="params"><dt>Parameters</dt><dd>
455 <table class="params">
456 <tr><td class="paramname">message</td><td>message </td></tr>
457 <tr><td class="paramname">message_len</td><td>message length </td></tr>
458 <tr><td class="paramname">timeout</td><td>timeout (in milliseconds) </td></tr>
459 </table>
460 </dd>
461</dl>
462
463<p>Implemented in <a class="el" href="classflair_1_1core_1_1_udt_socket.html#a9a0424a81914bdb9edaf20783992f7b4">flair::core::UdtSocket</a>, and <a class="el" href="classflair_1_1core_1_1_tcp_socket.html#aaca9be5ab271cef04af09219ff262f38">flair::core::TcpSocket</a>.</p>
464
465</div>
466</div>
467<a class="anchor" id="ade302ba4b2afddd6b421823a261f01c9"></a>
468<div class="memitem">
469<div class="memproto">
470<table class="mlabels">
471 <tr>
472 <td class="mlabels-left">
473 <table class="memname">
474 <tr>
475 <td class="memname">virtual ssize_t flair::core::ConnectedSocket::RecvMessage </td>
476 <td>(</td>
477 <td class="paramtype">char *&#160;</td>
478 <td class="paramname"><em>buf</em>, </td>
479 </tr>
480 <tr>
481 <td class="paramkey"></td>
482 <td></td>
483 <td class="paramtype">size_t&#160;</td>
484 <td class="paramname"><em>buf_len</em>, </td>
485 </tr>
486 <tr>
487 <td class="paramkey"></td>
488 <td></td>
489 <td class="paramtype"><a class="el" href="namespaceflair_1_1core.html#acc0fa041e08ecf73b2d1d723c339a736">Time</a>&#160;</td>
490 <td class="paramname"><em>timeout</em>&#160;</td>
491 </tr>
492 <tr>
493 <td></td>
494 <td>)</td>
495 <td></td><td></td>
496 </tr>
497 </table>
498 </td>
499 <td class="mlabels-right">
500<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
501 </tr>
502</table>
503</div><div class="memdoc">
504
505<p>Receive a message. </p>
506<p>Receive a message and wait up to timeout. <br />
507 </p><dl class="params"><dt>Parameters</dt><dd>
508 <table class="params">
509 <tr><td class="paramname">buf</td><td>buffer to put the message </td></tr>
510 <tr><td class="paramname">buf_len</td><td>buffer length </td></tr>
511 <tr><td class="paramname">timeout</td><td>timeout (in milliseconds)</td></tr>
512 </table>
513 </dd>
514</dl>
515<dl class="section return"><dt>Returns</dt><dd>size of the received message </dd></dl>
516
517<p>Implemented in <a class="el" href="classflair_1_1core_1_1_udt_socket.html#a8f7970d0532c9b280b180a63a6c604bc">flair::core::UdtSocket</a>, and <a class="el" href="classflair_1_1core_1_1_tcp_socket.html#ad7e7cf859d7cbe230a33f90c8c1bcfc2">flair::core::TcpSocket</a>.</p>
518
519</div>
520</div>
521<a class="anchor" id="a01410482ffeca813adcd5240cc69292d"></a>
522<div class="memitem">
523<div class="memproto">
524<table class="mlabels">
525 <tr>
526 <td class="mlabels-left">
527 <table class="memname">
528 <tr>
529 <td class="memname">virtual uint16_t flair::core::ConnectedSocket::NetworkToHost16 </td>
530 <td>(</td>
531 <td class="paramtype">uint16_t&#160;</td>
532 <td class="paramname"><em>data</em></td><td>)</td>
533 <td></td>
534 </tr>
535 </table>
536 </td>
537 <td class="mlabels-right">
538<span class="mlabels"><span class="mlabel">pure virtual</span></span> </td>
539 </tr>
540</table>
541</div><div class="memdoc">
542
543<p>! See <a class="el" href="_socket_8h.html" title="Class defining a UDP socket. ">Socket.h</a> for a more generic implementation of network/host endianness </p>
544
545<p>Implemented in <a class="el" href="classflair_1_1core_1_1_tcp_socket.html#a94921895eb0b474e967d611d78d630e2">flair::core::TcpSocket</a>, and <a class="el" href="classflair_1_1core_1_1_udt_socket.html#ac19f18b6ccc17685007fe001e5b710ea">flair::core::UdtSocket</a>.</p>
546
547</div>
548</div>
549</div><!-- contents -->
550</div><!-- doc-content -->
551<!-- start footer part -->
552<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
553 <ul>
554 <li class="navelem"><a class="el" href="namespaceflair.html">flair</a></li><li class="navelem"><a class="el" href="namespaceflair_1_1core.html">core</a></li><li class="navelem"><a class="el" href="classflair_1_1core_1_1_connected_socket.html">ConnectedSocket</a></li>
555 <li class="footer">Generated on Thu Nov 3 2016 10:06:12 for Flair by
556 <a href="http://www.doxygen.org/index.html">
557 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
558 </ul>
559</div>
560</body>
561</html>
Note: See TracBrowser for help on using the repository browser.