Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 598246a3099b0106d22dd5249478d3b7 > files > 247

ccrtp-devel-1.7.1-2.fc12.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ccRTP: queuebase.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<h1>queuebase.h</h1><a href="queuebase_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">// Copyright (C) 2001,2002,2004 Federico Montesino Pouzols &lt;fedemp@altern.org&gt;.</span>
<a name="l00002"></a>00002 <span class="comment">// </span>
<a name="l00003"></a>00003 <span class="comment">// This program is free software; you can redistribute it and/or modify</span>
<a name="l00004"></a>00004 <span class="comment">// it under the terms of the GNU General Public License as published by</span>
<a name="l00005"></a>00005 <span class="comment">// the Free Software Foundation; either version 2 of the License, or</span>
<a name="l00006"></a>00006 <span class="comment">// (at your option) any later version.</span>
<a name="l00007"></a>00007 <span class="comment">// </span>
<a name="l00008"></a>00008 <span class="comment">// This program is distributed in the hope that it will be useful,</span>
<a name="l00009"></a>00009 <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00010"></a>00010 <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00011"></a>00011 <span class="comment">// GNU General Public License for more details.</span>
<a name="l00012"></a>00012 <span class="comment">// </span>
<a name="l00013"></a>00013 <span class="comment">// You should have received a copy of the GNU General Public License</span>
<a name="l00014"></a>00014 <span class="comment">// along with this program; if not, write to the Free Software </span>
<a name="l00015"></a>00015 <span class="comment">// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span>
<a name="l00016"></a>00016 <span class="comment">// </span>
<a name="l00017"></a>00017 <span class="comment">// As a special exception, you may use this file as part of a free software</span>
<a name="l00018"></a>00018 <span class="comment">// library without restriction.  Specifically, if other files instantiate</span>
<a name="l00019"></a>00019 <span class="comment">// templates or use macros or inline functions from this file, or you compile</span>
<a name="l00020"></a>00020 <span class="comment">// this file and link it with other files to produce an executable, this</span>
<a name="l00021"></a>00021 <span class="comment">// file does not by itself cause the resulting executable to be covered by</span>
<a name="l00022"></a>00022 <span class="comment">// the GNU General Public License.  This exception does not however    </span>
<a name="l00023"></a>00023 <span class="comment">// invalidate any other reasons why the executable file might be covered by</span>
<a name="l00024"></a>00024 <span class="comment">// the GNU General Public License.    </span>
<a name="l00025"></a>00025 <span class="comment">//</span>
<a name="l00026"></a>00026 <span class="comment">// This exception applies only to the code released under the name GNU</span>
<a name="l00027"></a>00027 <span class="comment">// ccRTP.  If you copy code from other releases into a copy of GNU</span>
<a name="l00028"></a>00028 <span class="comment">// ccRTP, as the General Public License permits, the exception does</span>
<a name="l00029"></a>00029 <span class="comment">// not apply to the code that you add in this way.  To avoid misleading</span>
<a name="l00030"></a>00030 <span class="comment">// anyone as to the status of such modified files, you must delete</span>
<a name="l00031"></a>00031 <span class="comment">// this exception notice from them.</span>
<a name="l00032"></a>00032 <span class="comment">//</span>
<a name="l00033"></a>00033 <span class="comment">// If you write modifications of your own for GNU ccRTP, it is your choice</span>
<a name="l00034"></a>00034 <span class="comment">// whether to permit this exception to apply to your modifications.</span>
<a name="l00035"></a>00035 <span class="comment">// If you do not wish that, delete this exception notice.</span>
<a name="l00036"></a>00036 <span class="comment">//</span>
<a name="l00037"></a>00037 
<a name="l00044"></a>00044 <span class="preprocessor">#ifndef CCXX_RTP_QUEUEBASE_H_</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define CCXX_RTP_QUEUEBASE_H_</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span>
<a name="l00047"></a>00047 <span class="preprocessor">#include &lt;cc++/pointer.h&gt;</span>
<a name="l00048"></a>00048 <span class="preprocessor">#include &lt;<a class="code" href="rtppkt_8h.html" title="RTP packets handling.">ccrtp/rtppkt.h</a>&gt;</span>
<a name="l00049"></a>00049 <span class="preprocessor">#include &lt;<a class="code" href="sources_8h.html" title="Sources of synchronization and participants related clases.">ccrtp/sources.h</a>&gt;</span>
<a name="l00050"></a>00050 
<a name="l00051"></a>00051 <span class="preprocessor">#ifdef  CCXX_NAMESPACES</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="keyword">namespace </span>ost {
<a name="l00053"></a>00053 <span class="preprocessor">#endif</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span>
<a name="l00071"></a><a class="code" href="class_app_data_unit.html">00071</a> <span class="keyword">class </span>__EXPORT <a class="code" href="class_app_data_unit.html" title="Interface (envelope) to data received over RTP packets.">AppDataUnit</a>
<a name="l00072"></a>00072 {               
<a name="l00073"></a>00073 <span class="keyword">public</span>:
<a name="l00074"></a>00074         <a class="code" href="class_app_data_unit.html" title="Interface (envelope) to data received over RTP packets.">AppDataUnit</a>(<span class="keyword">const</span> <a class="code" href="class_incoming_r_t_p_pkt.html" title="RTP packets received from other participants.">IncomingRTPPkt</a>&amp; packet, <span class="keyword">const</span> <a class="code" href="class_sync_source.html" title="Synchronization source in an RTP session.">SyncSource</a>&amp; src);
<a name="l00075"></a>00075                 
<a name="l00076"></a><a class="code" href="class_app_data_unit.html#dccd733b4cb1f844ac1d305b3cf8a1fe">00076</a>         <span class="keyword">inline</span> ~<a class="code" href="class_app_data_unit.html" title="Interface (envelope) to data received over RTP packets.">AppDataUnit</a>()
<a name="l00077"></a>00077         { }
<a name="l00078"></a>00078                 
<a name="l00082"></a>00082         <a class="code" href="class_app_data_unit.html" title="Interface (envelope) to data received over RTP packets.">AppDataUnit</a>(<span class="keyword">const</span> <a class="code" href="class_app_data_unit.html" title="Interface (envelope) to data received over RTP packets.">AppDataUnit</a>&amp; src);
<a name="l00083"></a>00083                 
<a name="l00090"></a>00090         <a class="code" href="class_app_data_unit.html" title="Interface (envelope) to data received over RTP packets.">AppDataUnit</a>&amp;
<a name="l00091"></a>00091         operator=(<span class="keyword">const</span> <a class="code" href="class_app_data_unit.html" title="Interface (envelope) to data received over RTP packets.">AppDataUnit</a>&amp; source);
<a name="l00092"></a>00092                 
<a name="l00096"></a>00096         <span class="keyword">inline</span> <a class="code" href="group__payload.html#g0eee230c7ab57e31bb4e438a72354993" title="RTP payload type numeric identifier.">PayloadType</a>
<a name="l00097"></a><a class="code" href="class_app_data_unit.html#49592f6dd8c651597f78cf58f13464ab">00097</a>         getType()<span class="keyword"> const</span>
<a name="l00098"></a>00098 <span class="keyword">        </span>{ <span class="keywordflow">return</span> datablock-&gt;getPayloadType(); }
<a name="l00099"></a>00099 
<a name="l00107"></a>00107         <span class="keyword">inline</span> <span class="keyword">const</span> uint8* <span class="keyword">const</span>
<a name="l00108"></a><a class="code" href="class_app_data_unit.html#be15787e1cc84dd03b0769a5546d7a38">00108</a>         getData()<span class="keyword"> const</span>
<a name="l00109"></a>00109 <span class="keyword">        </span>{ <span class="keywordflow">return</span> datablock-&gt;getPayload(); }
<a name="l00110"></a>00110                 
<a name="l00114"></a>00114         <span class="keywordtype">size_t</span>
<a name="l00115"></a><a class="code" href="class_app_data_unit.html#f41ffb3a12208e4ec9f6aa1b1180eedd">00115</a>         getSize()<span class="keyword"> const</span>
<a name="l00116"></a>00116 <span class="keyword">        </span>{ <span class="keywordflow">return</span> datablock-&gt;getPayloadSize(); }
<a name="l00117"></a>00117 
<a name="l00121"></a>00121         <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="class_sync_source.html" title="Synchronization source in an RTP session.">SyncSource</a>&amp;
<a name="l00122"></a><a class="code" href="class_app_data_unit.html#be3507d58bdbd17c57846f3679d5f2d1">00122</a>         getSource()<span class="keyword"> const</span>
<a name="l00123"></a>00123 <span class="keyword">        </span>{ <span class="keywordflow">return</span> *source; }
<a name="l00124"></a>00124 
<a name="l00130"></a>00130         <span class="keyword">inline</span> <span class="keywordtype">bool</span> 
<a name="l00131"></a><a class="code" href="class_app_data_unit.html#b906839553a219662ac3313f756bf3ca">00131</a>         isMarked()<span class="keyword"> const</span>
<a name="l00132"></a>00132 <span class="keyword">        </span>{ <span class="keywordflow">return</span> datablock-&gt;isMarked(); }
<a name="l00133"></a>00133 
<a name="l00137"></a>00137         <span class="keyword">inline</span> uint16
<a name="l00138"></a><a class="code" href="class_app_data_unit.html#7dcc3be7075451c19f68bb9536f64cd0">00138</a>         getSeqNum()<span class="keyword"> const</span>
<a name="l00139"></a>00139 <span class="keyword">        </span>{ <span class="keywordflow">return</span> datablock-&gt;getSeqNum(); }
<a name="l00140"></a>00140 
<a name="l00144"></a>00144         <span class="keyword">inline</span> uint8
<a name="l00145"></a><a class="code" href="class_app_data_unit.html#245c3e9693e2064bce8522099da28b4a">00145</a>         getContributorsCount()<span class="keyword"> const</span>
<a name="l00146"></a>00146 <span class="keyword">        </span>{ <span class="keywordflow">return</span> (uint8)datablock-&gt;getCSRCsCount(); }
<a name="l00147"></a>00147 
<a name="l00153"></a>00153         <span class="keyword">inline</span> <span class="keyword">const</span> uint32*
<a name="l00154"></a><a class="code" href="class_app_data_unit.html#ebeebfd00b3b8d8d98ac001a9d286f3f">00154</a>         getContributorsID()<span class="keyword"> const</span>
<a name="l00155"></a>00155 <span class="keyword">        </span>{ <span class="keywordflow">return</span> datablock-&gt;getCSRCs(); }
<a name="l00156"></a>00156 
<a name="l00157"></a>00157 <span class="keyword">private</span>:
<a name="l00158"></a>00158         Pointer&lt;const IncomingRTPPkt&gt; datablock;
<a name="l00159"></a>00159         <span class="keyword">const</span> <a class="code" href="class_sync_source.html" title="Synchronization source in an RTP session.">SyncSource</a>* source;
<a name="l00160"></a>00160 };
<a name="l00161"></a>00161 
<a name="l00169"></a><a class="code" href="class_r_t_p_queue_base.html">00169</a> <span class="keyword">class </span>__EXPORT <a class="code" href="class_r_t_p_queue_base.html" title="A virtual base class for RTP queue hierarchies.">RTPQueueBase</a>
<a name="l00170"></a>00170 {
<a name="l00171"></a>00171 <span class="keyword">public</span>:
<a name="l00179"></a>00179         <span class="keyword">inline</span> <span class="keywordtype">bool</span>
<a name="l00180"></a><a class="code" href="class_r_t_p_queue_base.html#6601346e22925ebc740bc96c0b167375">00180</a>         setPayloadFormat(<span class="keyword">const</span> <a class="code" href="class_payload_format.html" title="Base payload format class.">PayloadFormat</a>&amp; pf)
<a name="l00181"></a>00181         { 
<a name="l00182"></a>00182                 currentPayloadType = pf.<a class="code" href="class_payload_format.html#c0892cc249dc5e92a80c7aa08dd3a606" title="Get payload type numeric identifier carried in RTP packets.">getPayloadType</a>();
<a name="l00183"></a>00183                 currentRTPClockRate = pf.<a class="code" href="class_payload_format.html#4eee0cbd76e62e6f8b2bd946bcac8c69" title="Get RTP clock rate for this payload format.">getRTPClockRate</a>();
<a name="l00184"></a>00184                 <span class="keywordflow">return</span> <span class="keyword">true</span>;
<a name="l00185"></a>00185         }
<a name="l00186"></a>00186 
<a name="l00187"></a><a class="code" href="class_r_t_p_queue_base.html#ef7ace1ffb0ca205726c3937d3b7ee16">00187</a>         <span class="keyword">inline</span> uint32 getLocalSSRC()<span class="keyword"> const</span>
<a name="l00188"></a>00188 <span class="keyword">        </span>{ <span class="keywordflow">return</span> localSSRC; }
<a name="l00189"></a>00189 
<a name="l00198"></a><a class="code" href="class_r_t_p_queue_base.html#f05851c002199e685185869b62549388">00198</a>         <span class="keyword">inline</span> uint32 getCurrentRTPClockRate()<span class="keyword"> const</span>
<a name="l00199"></a>00199 <span class="keyword">        </span>{ <span class="keywordflow">return</span> currentRTPClockRate; }
<a name="l00200"></a>00200 
<a name="l00201"></a><a class="code" href="class_r_t_p_queue_base.html#6783983e093cdfc015477454f75583b8">00201</a>         <span class="keyword">inline</span> <a class="code" href="group__payload.html#g0eee230c7ab57e31bb4e438a72354993" title="RTP payload type numeric identifier.">PayloadType</a> getCurrentPayloadType()<span class="keyword"> const</span>
<a name="l00202"></a>00202 <span class="keyword">        </span>{ <span class="keywordflow">return</span> currentPayloadType; }
<a name="l00203"></a>00203 
<a name="l00204"></a><a class="code" href="class_r_t_p_queue_base.html#6a3ac1bdc1f35594d86ce48f6812be8a">00204</a>         <span class="keyword">inline</span> timeval getInitialTime()<span class="keyword"> const</span>
<a name="l00205"></a>00205 <span class="keyword">        </span>{ <span class="keywordflow">return</span> initialTime; }
<a name="l00206"></a>00206 
<a name="l00207"></a>00207 <span class="keyword">protected</span>:
<a name="l00212"></a>00212         <a class="code" href="class_r_t_p_queue_base.html" title="A virtual base class for RTP queue hierarchies.">RTPQueueBase</a>(uint32 *ssrc = NULL);
<a name="l00213"></a>00213 
<a name="l00214"></a><a class="code" href="class_r_t_p_queue_base.html#97b55f4b3d364ab8e34c928c4bf8bde5">00214</a>         <span class="keyword">inline</span> <span class="keywordtype">void</span> setLocalSSRC(uint32 ssrc)
<a name="l00215"></a>00215         { localSSRC = ssrc; localSSRCNetwork = htonl(ssrc); }
<a name="l00216"></a>00216 
<a name="l00217"></a><a class="code" href="class_r_t_p_queue_base.html#eeb44d8c69360d00123fcd78d39f3502">00217</a>         <span class="keyword">inline</span> uint32 getLocalSSRCNetwork()<span class="keyword"> const</span>
<a name="l00218"></a>00218 <span class="keyword">        </span>{ <span class="keywordflow">return</span> localSSRCNetwork; }
<a name="l00219"></a>00219 
<a name="l00220"></a>00220         <span class="keyword">virtual</span> 
<a name="l00221"></a><a class="code" href="class_r_t_p_queue_base.html#e44faa05b189e5c1ce33678a21a59119">00221</a>         ~<a class="code" href="class_r_t_p_queue_base.html" title="A virtual base class for RTP queue hierarchies.">RTPQueueBase</a>()
<a name="l00222"></a>00222         { }
<a name="l00223"></a>00223 
<a name="l00230"></a>00230         <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">size_t</span>
<a name="l00231"></a><a class="code" href="class_r_t_p_queue_base.html#dff15944ba35bc31b1b05347d25fda80">00231</a>         dispatchBYE(<span class="keyword">const</span> std::string&amp;)
<a name="l00232"></a>00232         { <span class="keywordflow">return</span> 0; }
<a name="l00233"></a>00233 
<a name="l00234"></a>00234         <span class="keyword">inline</span> <span class="keyword">virtual</span> <span class="keywordtype">void</span>
<a name="l00235"></a><a class="code" href="class_r_t_p_queue_base.html#d05d8b02c9a90d36401262bf309e7f8e">00235</a>         renewLocalSSRC()
<a name="l00236"></a>00236         { }
<a name="l00237"></a>00237 
<a name="l00238"></a>00238 <span class="keyword">private</span>:
<a name="l00239"></a>00239         <span class="comment">// local SSRC 32-bit identifier</span>
<a name="l00240"></a>00240         uint32 localSSRC;
<a name="l00241"></a>00241         <span class="comment">// SSRC in network byte order</span>
<a name="l00242"></a>00242         uint32 localSSRCNetwork;
<a name="l00243"></a>00243         <span class="comment">// RTP clock rate for the current payload type.</span>
<a name="l00244"></a>00244         uint32 currentRTPClockRate;
<a name="l00245"></a>00245         <span class="comment">// Current payload type set for outgoing packets and expected</span>
<a name="l00246"></a>00246         <span class="comment">// from incoming packets.</span>
<a name="l00247"></a>00247         <a class="code" href="group__payload.html#g0eee230c7ab57e31bb4e438a72354993" title="RTP payload type numeric identifier.">PayloadType</a> currentPayloadType;
<a name="l00248"></a>00248         <span class="comment">// when the queue is created</span>
<a name="l00249"></a>00249         timeval initialTime;
<a name="l00250"></a>00250 };
<a name="l00251"></a>00251 
<a name="l00257"></a><a class="code" href="class_outgoing_data_queue_base.html">00257</a> <span class="keyword">class </span>__EXPORT <a class="code" href="class_outgoing_data_queue_base.html">OutgoingDataQueueBase</a>:
<a name="l00258"></a>00258         <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="class_r_t_p_queue_base.html" title="A virtual base class for RTP queue hierarchies.">RTPQueueBase</a>
<a name="l00259"></a>00259 {
<a name="l00260"></a>00260 <span class="keyword">public</span>:
<a name="l00261"></a>00261         <span class="keyword">inline</span> <span class="keywordtype">size_t</span>
<a name="l00262"></a><a class="code" href="class_outgoing_data_queue_base.html#fd4cdf9834cbbda5f1d42637872c6325">00262</a>         getDefaultMaxSendSegmentSize()
<a name="l00263"></a>00263         { <span class="keywordflow">return</span> defaultMaxSendSegmentSize;}
<a name="l00264"></a>00264 
<a name="l00271"></a>00271         <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l00272"></a><a class="code" href="class_outgoing_data_queue_base.html#71b7e4949139f53906406d36ef45915c">00272</a>         setMaxSendSegmentSize(<span class="keywordtype">size_t</span> size)
<a name="l00273"></a>00273         { maxSendSegmentSize = size; }
<a name="l00274"></a>00274 
<a name="l00275"></a>00275         <span class="keyword">inline</span> <span class="keywordtype">size_t</span>
<a name="l00276"></a><a class="code" href="class_outgoing_data_queue_base.html#4e250bfa1a06e822470eaba33226da06">00276</a>         getMaxSendSegmentSize()
<a name="l00277"></a>00277         { <span class="keywordflow">return</span> maxSendSegmentSize; }
<a name="l00278"></a>00278 
<a name="l00279"></a>00279 <span class="keyword">protected</span>:
<a name="l00280"></a>00280         <a class="code" href="class_outgoing_data_queue_base.html">OutgoingDataQueueBase</a>();
<a name="l00281"></a>00281 
<a name="l00282"></a>00282         <span class="keyword">inline</span> <span class="keyword">virtual</span>
<a name="l00283"></a><a class="code" href="class_outgoing_data_queue_base.html#83a51909b0495622654b792dfb237bf1">00283</a>         ~<a class="code" href="class_outgoing_data_queue_base.html">OutgoingDataQueueBase</a>()
<a name="l00284"></a>00284         { }
<a name="l00285"></a>00285 
<a name="l00286"></a>00286 <span class="keyword">private</span>:
<a name="l00287"></a>00287         <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> defaultMaxSendSegmentSize;
<a name="l00288"></a>00288         <span class="comment">// maximum packet size before fragmenting sends.</span>
<a name="l00289"></a>00289         <span class="keywordtype">size_t</span> maxSendSegmentSize;
<a name="l00290"></a>00290 };
<a name="l00291"></a>00291 
<a name="l00297"></a><a class="code" href="class_incoming_data_queue_base.html">00297</a> <span class="keyword">class </span>__EXPORT <a class="code" href="class_incoming_data_queue_base.html">IncomingDataQueueBase</a>:
<a name="l00298"></a>00298         <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="class_r_t_p_queue_base.html" title="A virtual base class for RTP queue hierarchies.">RTPQueueBase</a>
<a name="l00299"></a>00299 {
<a name="l00300"></a>00300 <span class="keyword">public</span>:
<a name="l00301"></a><a class="code" href="class_incoming_data_queue_base.html#7f980e05e3947dc56e4f0c6764623121">00301</a>         <span class="keyword">inline</span> <span class="keywordtype">size_t</span> getDefaultMaxRecvPacketSize()<span class="keyword"> const</span>
<a name="l00302"></a>00302 <span class="keyword">        </span>{ <span class="keywordflow">return</span> defaultMaxRecvPacketSize; }
<a name="l00303"></a>00303 
<a name="l00304"></a>00304         <span class="keyword">inline</span> <span class="keywordtype">size_t</span>
<a name="l00305"></a><a class="code" href="class_incoming_data_queue_base.html#9f575e7c63a016fb18076bb06e953267">00305</a>         getMaxRecvPacketSize()<span class="keyword"> const</span>
<a name="l00306"></a>00306 <span class="keyword">        </span>{ <span class="keywordflow">return</span> maxRecvPacketSize; }
<a name="l00307"></a>00307 
<a name="l00318"></a>00318         <span class="keyword">inline</span> <span class="keywordtype">void</span>
<a name="l00319"></a><a class="code" href="class_incoming_data_queue_base.html#8de8578471df41d6dbf1a02c54a05e8a">00319</a>         setMaxRecvPacketSize(<span class="keywordtype">size_t</span> maxsize)
<a name="l00320"></a>00320         { maxRecvPacketSize = maxsize; }
<a name="l00321"></a>00321 
<a name="l00322"></a>00322 <span class="keyword">protected</span>:
<a name="l00323"></a><a class="code" href="class_incoming_data_queue_base.html#e4b3d3f63689d418f1f084a623f43140">00323</a>         <a class="code" href="class_incoming_data_queue_base.html">IncomingDataQueueBase</a>()
<a name="l00324"></a>00324         { setMaxRecvPacketSize(getDefaultMaxRecvPacketSize()); }
<a name="l00325"></a>00325 
<a name="l00326"></a>00326         <span class="keyword">inline</span> <span class="keyword">virtual</span> 
<a name="l00327"></a><a class="code" href="class_incoming_data_queue_base.html#b1ca43c0f2f23c7df96ed433738dba6a">00327</a>         ~<a class="code" href="class_incoming_data_queue_base.html">IncomingDataQueueBase</a>()
<a name="l00328"></a>00328         { }
<a name="l00329"></a>00329 
<a name="l00330"></a>00330 <span class="keyword">private</span>:
<a name="l00331"></a>00331         <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> defaultMaxRecvPacketSize;
<a name="l00332"></a>00332         <span class="comment">// filter value for received packets length.</span>
<a name="l00333"></a>00333         <span class="keywordtype">size_t</span> maxRecvPacketSize;
<a name="l00334"></a>00334 };
<a name="l00335"></a>00335  <span class="comment">// queuebase</span>
<a name="l00337"></a>00337 
<a name="l00338"></a>00338 <span class="preprocessor">#ifdef  CCXX_NAMESPACES</span>
<a name="l00339"></a>00339 <span class="preprocessor"></span>}
<a name="l00340"></a>00340 <span class="preprocessor">#endif</span>
<a name="l00341"></a>00341 <span class="preprocessor"></span>
<a name="l00342"></a>00342 <span class="preprocessor">#endif  //CCXX_RTP_QUEUEBASE_H_</span>
<a name="l00343"></a>00343 <span class="preprocessor"></span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jul 24 21:42:25 2009 for ccRTP by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>