<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>DTN Reference Implementation: dtn::Subscriber Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.6 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespacedtn.html">dtn</a>::<a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a> </div> </div> <div class="contents"> <h1>dtn::Subscriber Class Reference</h1><!-- doxytag: class="dtn::Subscriber" --><code>#include <<a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>></code> <p> <p> <a href="classdtn_1_1Subscriber-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> A subscriber for a session is either a local registration or a next hop destination. <p>Definition at line <a class="el" href="Subscriber_8h-source.html#l00035">35</a> of file <a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>.</p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#ed4237ae1f8876b5c9ac024d8cc9ed79">Subscriber</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for a NULL subscriber (used for. <a href="#ed4237ae1f8876b5c9ac024d8cc9ed79"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#fd8d7751dee93cd0aec49d79bb881000">Subscriber</a> (<a class="el" href="classdtn_1_1Registration.html">Registration</a> *reg)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for a local subscriber. <a href="#fd8d7751dee93cd0aec49d79bb881000"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#4de98c56bc98d910a78f0deff324cf5f">Subscriber</a> (const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> &nexthop)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructor for a remote subscriber. <a href="#4de98c56bc98d910a78f0deff324cf5f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#943c641a515ca6963b7a298bb41ea776">~Subscriber</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#943c641a515ca6963b7a298bb41ea776"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#1cb85ff7aeabe419a21493e74aff8203">format</a> (char *<a class="el" href="num2sdnv_8c.html#a81cdcc7ff6987bc85c073253e32715f">buf</a>, size_t sz) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Virtual from Formatter. <a href="#1cb85ff7aeabe419a21493e74aff8203"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#766065487b6b6d0e9fb786aa4c7bcc07">operator==</a> (const <a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a> &other) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Comparison operator. <a href="#766065487b6b6d0e9fb786aa4c7bcc07"></a><br></td></tr> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#cc20d7ea61447dcea8d8ee8852a6a015">is_null</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#cc20d7ea61447dcea8d8ee8852a6a015"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#d9105b34d6fcdb3397b402aebc4f7aef">is_local</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#d9105b34d6fcdb3397b402aebc4f7aef"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1Registration.html">Registration</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#ecca2a92bd69deb95163e3b8fae5dbba">reg</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#ecca2a92bd69deb95163e3b8fae5dbba"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#20132ad4ad9c22eb909f82a9a6a3fa72">nexthop</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Accessors. <a href="#20132ad4ad9c22eb909f82a9a6a3fa72"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1Registration.html">Registration</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#0a93350a229c7ffdb75f2f16a60b7d16">reg_</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1Subscriber.html#3655c0a8ad0c27d40318946a0557a17e">nexthop_</a></td></tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="ed4237ae1f8876b5c9ac024d8cc9ed79"></a><!-- doxytag: member="dtn::Subscriber::Subscriber" ref="ed4237ae1f8876b5c9ac024d8cc9ed79" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::Subscriber::Subscriber </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor for a NULL subscriber (used for. <p> <p>Definition at line <a class="el" href="Subscriber_8h-source.html#l00038">38</a> of file <a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>.</p> </div> </div><p> <a class="anchor" name="fd8d7751dee93cd0aec49d79bb881000"></a><!-- doxytag: member="dtn::Subscriber::Subscriber" ref="fd8d7751dee93cd0aec49d79bb881000" args="(Registration *reg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::Subscriber::Subscriber </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1Registration.html">Registration</a> * </td> <td class="paramname"> <em>reg</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor for a local subscriber. <p> <p>Definition at line <a class="el" href="Subscriber_8h-source.html#l00042">42</a> of file <a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>.</p> </div> </div><p> <a class="anchor" name="4de98c56bc98d910a78f0deff324cf5f"></a><!-- doxytag: member="dtn::Subscriber::Subscriber" ref="4de98c56bc98d910a78f0deff324cf5f" args="(const EndpointID &nexthop)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::Subscriber::Subscriber </td> <td>(</td> <td class="paramtype">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> & </td> <td class="paramname"> <em>nexthop</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor for a remote subscriber. <p> <p>Definition at line <a class="el" href="Subscriber_8h-source.html#l00046">46</a> of file <a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>.</p> </div> </div><p> <a class="anchor" name="943c641a515ca6963b7a298bb41ea776"></a><!-- doxytag: member="dtn::Subscriber::~Subscriber" ref="943c641a515ca6963b7a298bb41ea776" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::Subscriber::~Subscriber </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. <p> <p>Definition at line <a class="el" href="Subscriber_8cc-source.html#l00027">27</a> of file <a class="el" href="Subscriber_8cc-source.html">Subscriber.cc</a>.</p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="1cb85ff7aeabe419a21493e74aff8203"></a><!-- doxytag: member="dtn::Subscriber::format" ref="1cb85ff7aeabe419a21493e74aff8203" args="(char *buf, size_t sz) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int dtn::Subscriber::format </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>sz</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Virtual from Formatter. <p> <p>Definition at line <a class="el" href="Subscriber_8cc-source.html#l00033">33</a> of file <a class="el" href="Subscriber_8cc-source.html">Subscriber.cc</a>.</p> <p>References <a class="el" href="EndpointID_8h-source.html#l00264">dtn::EndpointID::c_str()</a>, <a class="el" href="Subscriber_8h-source.html#l00060">is_local()</a>, <a class="el" href="Subscriber_8h-source.html#l00072">is_null()</a>, <a class="el" href="Subscriber_8h-source.html#l00067">nexthop_</a>, <a class="el" href="Subscriber_8h-source.html#l00066">reg_</a>, and <a class="el" href="Registration_8h-source.html#l00114">dtn::Registration::regid()</a>.</p> </div> </div><p> <a class="anchor" name="766065487b6b6d0e9fb786aa4c7bcc07"></a><!-- doxytag: member="dtn::Subscriber::operator==" ref="766065487b6b6d0e9fb786aa4c7bcc07" args="(const Subscriber &other) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::Subscriber::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="classdtn_1_1Subscriber.html">Subscriber</a> & </td> <td class="paramname"> <em>other</em> </td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Comparison operator. <p> <p>Definition at line <a class="el" href="Subscriber_8cc-source.html#l00048">48</a> of file <a class="el" href="Subscriber_8cc-source.html">Subscriber.cc</a>.</p> <p>References <a class="el" href="Subscriber_8h-source.html#l00067">nexthop_</a>, and <a class="el" href="Subscriber_8h-source.html#l00066">reg_</a>.</p> </div> </div><p> <a class="anchor" name="cc20d7ea61447dcea8d8ee8852a6a015"></a><!-- doxytag: member="dtn::Subscriber::is_null" ref="cc20d7ea61447dcea8d8ee8852a6a015" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::Subscriber::is_null </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="Subscriber_8h-source.html#l00072">72</a> of file <a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>.</p> <p>References <a class="el" href="Subscriber_8h-source.html#l00067">nexthop_</a>, <a class="el" href="EndpointID_8h-source.html#l00358">dtn::EndpointID::NULL_EID()</a>, and <a class="el" href="Subscriber_8h-source.html#l00066">reg_</a>.</p> <p>Referenced by <a class="el" href="Subscriber_8cc-source.html#l00033">format()</a>.</p> </div> </div><p> <a class="anchor" name="d9105b34d6fcdb3397b402aebc4f7aef"></a><!-- doxytag: member="dtn::Subscriber::is_local" ref="d9105b34d6fcdb3397b402aebc4f7aef" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="serialsource_8c.html#1062901a7428fdd9c7f180f5e01ea056">bool</a> dtn::Subscriber::is_local </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="Subscriber_8h-source.html#l00060">60</a> of file <a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>.</p> <p>References <a class="el" href="Subscriber_8h-source.html#l00066">reg_</a>.</p> <p>Referenced by <a class="el" href="Subscriber_8cc-source.html#l00033">format()</a>, <a class="el" href="Subscriber_8h-source.html#l00062">nexthop()</a>, <a class="el" href="Subscriber_8h-source.html#l00061">reg()</a>, and <a class="el" href="TableBasedRouter_8cc-source.html#l01038">dtn::TableBasedRouter::subscribe_to_session()</a>.</p> </div> </div><p> <a class="anchor" name="ecca2a92bd69deb95163e3b8fae5dbba"></a><!-- doxytag: member="dtn::Subscriber::reg" ref="ecca2a92bd69deb95163e3b8fae5dbba" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1Registration.html">Registration</a>* dtn::Subscriber::reg </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="Subscriber_8h-source.html#l00061">61</a> of file <a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>.</p> <p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="Subscriber_8h-source.html#l00060">is_local()</a>, and <a class="el" href="Subscriber_8h-source.html#l00066">reg_</a>.</p> </div> </div><p> <a class="anchor" name="20132ad4ad9c22eb909f82a9a6a3fa72"></a><!-- doxytag: member="dtn::Subscriber::nexthop" ref="20132ad4ad9c22eb909f82a9a6a3fa72" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a>& dtn::Subscriber::nexthop </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Accessors. <p> <p>Definition at line <a class="el" href="Subscriber_8h-source.html#l00062">62</a> of file <a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>.</p> <p>References <a class="el" href="SDNV_8cc-source.html#l00044">ASSERT</a>, <a class="el" href="Subscriber_8h-source.html#l00060">is_local()</a>, and <a class="el" href="Subscriber_8h-source.html#l00067">nexthop_</a>.</p> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="0a93350a229c7ffdb75f2f16a60b7d16"></a><!-- doxytag: member="dtn::Subscriber::reg_" ref="0a93350a229c7ffdb75f2f16a60b7d16" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1Registration.html">Registration</a>* <a class="el" href="classdtn_1_1Subscriber.html#0a93350a229c7ffdb75f2f16a60b7d16">dtn::Subscriber::reg_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="Subscriber_8h-source.html#l00066">66</a> of file <a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>.</p> <p>Referenced by <a class="el" href="Subscriber_8cc-source.html#l00033">format()</a>, <a class="el" href="Subscriber_8h-source.html#l00060">is_local()</a>, <a class="el" href="Subscriber_8h-source.html#l00072">is_null()</a>, <a class="el" href="Subscriber_8cc-source.html#l00048">operator==()</a>, and <a class="el" href="Subscriber_8h-source.html#l00061">reg()</a>.</p> </div> </div><p> <a class="anchor" name="3655c0a8ad0c27d40318946a0557a17e"></a><!-- doxytag: member="dtn::Subscriber::nexthop_" ref="3655c0a8ad0c27d40318946a0557a17e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1EndpointID.html">EndpointID</a> <a class="el" href="classdtn_1_1Subscriber.html#3655c0a8ad0c27d40318946a0557a17e">dtn::Subscriber::nexthop_</a><code> [protected]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="Subscriber_8h-source.html#l00067">67</a> of file <a class="el" href="Subscriber_8h-source.html">Subscriber.h</a>.</p> <p>Referenced by <a class="el" href="Subscriber_8cc-source.html#l00033">format()</a>, <a class="el" href="Subscriber_8h-source.html#l00072">is_null()</a>, <a class="el" href="Subscriber_8h-source.html#l00062">nexthop()</a>, and <a class="el" href="Subscriber_8cc-source.html#l00048">operator==()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="Subscriber_8h-source.html">Subscriber.h</a><li><a class="el" href="Subscriber_8cc-source.html">Subscriber.cc</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Mon Jul 21 14:09:55 2008 for DTN Reference Implementation by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address> </body> </html>