<!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::LinkScheduleEstimator 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_1LinkScheduleEstimator.html">LinkScheduleEstimator</a> </div> </div> <div class="contents"> <h1>dtn::LinkScheduleEstimator Class Reference</h1><!-- doxytag: class="dtn::LinkScheduleEstimator" --><code>#include <<a class="el" href="LinkScheduleEstimator_8h-source.html">LinkScheduleEstimator.h</a>></code> <p> <p> <a href="classdtn_1_1LinkScheduleEstimator-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> Given a log on the form (start1, duration1), . <p> .. ,(startN, durationN), the <a class="el" href="classdtn_1_1LinkScheduleEstimator.html" title="Given a log on the form (start1, duration1), .">LinkScheduleEstimator</a> algorithm figures out a periodic schedule that this log conforms to.<p> The schedule computed can then be used to predict future link-up events, and to inform far-away nodes about the future predicted availability of the link in question.<p> Usage: Log* <a class="el" href="classdtn_1_1LinkScheduleEstimator.html#04c89a1b33385566625dba0bcec80ac7">find_schedule(Log* log)</a>;<p> Returns the best schedule for the given log. If there's no discernible periodicity in the log, the return value will be NULL. <p>Definition at line <a class="el" href="LinkScheduleEstimator_8h-source.html#l00046">46</a> of file <a class="el" href="LinkScheduleEstimator_8h-source.html">LinkScheduleEstimator.h</a>.</p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">typedef std::vector< <a class="el" href="structdtn_1_1LinkScheduleEstimator_1_1LogEntry.html">LogEntry</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a></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_1LinkScheduleEstimator.html#cfee9ac8dfeba476eaecbef83af396c6">LinkScheduleEstimator</a> ()</td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#04c89a1b33385566625dba0bcec80ac7">find_schedule</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> *<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>)</td></tr> <tr><td colspan="2"><br><h2>Private Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#9bdc8a6a5b4cd5b4cd06f6d7555cce95">entry_dist</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &a, unsigned int a_index, unsigned int a_offset, <a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &b, unsigned int b_index, unsigned int b_offset, unsigned int warping_window)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#fb24f952b197b3d1bd6f7ba5ba33da35">log_dist_r</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &a, unsigned int a_index, unsigned int a_offset, <a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &b, unsigned int b_index, unsigned int b_offset, unsigned int warping_window)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#4f92af378017bf063a3b5144dd3680ee">log_dist</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &a, unsigned int a_offset, <a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &b, unsigned int b_offset, unsigned int warping_window, int print_table)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#a61e879bc1ff9495bca8c0ae83d9c3a6">autocorrelation</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>, unsigned int phase, int print_table)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#bd21da2cc439402e70d7fc0cf2a2c6ca">print_log</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>, int relative_dates)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#b8b4ab28ded6c1b5dba2d97cfbe02c51">generate_samples</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &schedule, unsigned int log_size, unsigned int start_jitter, double duration_jitter)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#d265c8f04daa7f58afe62733465fc747">estimate_period</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#1735a8401a37cf5e7f7473f797c16cb7">seek_to_before_date</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>, unsigned int date)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return the index of the closest log entry at or before the given date. <a href="#1735a8401a37cf5e7f7473f797c16cb7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#3a8b1347b7e2346fb47e9f3086eecd6d">closest_entry_to_date</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>, unsigned int date)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">return the index of the closest log entry to the given date <a href="#3a8b1347b7e2346fb47e9f3086eecd6d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#d682bec963c07b745a074e0f9227e4c4">clone_subsequence</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>, unsigned int start, unsigned int len)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#500562bbb64e252746e50df3bf6b7ef7">badness_of_match</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &pattern, <a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>, unsigned int warping_window, unsigned int period)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#53c3d355d5d0f4c13365dfc5319f2cb8">extract_schedule</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>, unsigned int period_estimate)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#72909ef9d3fdd911fd87e8756b554edd">refine_period</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>, unsigned int period_estimate)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#375f63c7c9eb507a4eae17257ccef180">find_schedule</a> (<a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> &<a class="el" href="namespacedtn.html#68bf4270dd0a7e5e8390869b83889922">log</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This is the function to be called from the outside. <a href="#375f63c7c9eb507a4eae17257ccef180"></a><br></td></tr> <tr><td colspan="2"><br><h2>Classes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structdtn_1_1LinkScheduleEstimator_1_1LogEntry.html">LogEntry</a></td></tr> </table> <hr><h2>Member Typedef Documentation</h2> <a class="anchor" name="03f2dd943b7f8c9b0edc879ee4edabdf"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::Log" ref="03f2dd943b7f8c9b0edc879ee4edabdf" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef std::vector<<a class="el" href="structdtn_1_1LinkScheduleEstimator_1_1LogEntry.html">LogEntry</a>> <a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">dtn::LinkScheduleEstimator::Log</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8h-source.html#l00053">53</a> of file <a class="el" href="LinkScheduleEstimator_8h-source.html">LinkScheduleEstimator.h</a>.</p> </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="cfee9ac8dfeba476eaecbef83af396c6"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::LinkScheduleEstimator" ref="cfee9ac8dfeba476eaecbef83af396c6" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">dtn::LinkScheduleEstimator::LinkScheduleEstimator </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00033">33</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="04c89a1b33385566625dba0bcec80ac7"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::find_schedule" ref="04c89a1b33385566625dba0bcec80ac7" args="(Log *log)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a>* dtn::LinkScheduleEstimator::find_schedule </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> * </td> <td class="paramname"> <em>log</em> </td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="9bdc8a6a5b4cd5b4cd06f6d7555cce95"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::entry_dist" ref="9bdc8a6a5b4cd5b4cd06f6d7555cce95" args="(Log &a, unsigned int a_index, unsigned int a_offset, Log &b, unsigned int b_index, unsigned int b_offset, unsigned int warping_window)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int dtn::LinkScheduleEstimator::entry_dist </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>a_index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>a_offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>b_index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>b_offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>warping_window</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00046">46</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>References <a class="el" href="LinkScheduleEstimator_8h-source.html#l00022">absdiff</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00110">log_dist()</a>, and <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00061">log_dist_r()</a>.</p> </div> </div><p> <a class="anchor" name="fb24f952b197b3d1bd6f7ba5ba33da35"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::log_dist_r" ref="fb24f952b197b3d1bd6f7ba5ba33da35" args="(Log &a, unsigned int a_index, unsigned int a_offset, Log &b, unsigned int b_index, unsigned int b_offset, unsigned int warping_window)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int dtn::LinkScheduleEstimator::log_dist_r </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>a_index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>a_offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>b_index</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>b_offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>warping_window</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00061">61</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>References <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00031">dtn::dist</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00046">entry_dist()</a>, and <a class="el" href="LinkScheduleEstimator_8h-source.html#l00026">MAX_DIST</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00110">log_dist()</a>.</p> </div> </div><p> <a class="anchor" name="4f92af378017bf063a3b5144dd3680ee"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::log_dist" ref="4f92af378017bf063a3b5144dd3680ee" args="(Log &a, unsigned int a_offset, Log &b, unsigned int b_offset, unsigned int warping_window, int print_table)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int dtn::LinkScheduleEstimator::log_dist </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>a_offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>b</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>b_offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>warping_window</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>print_table</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00110">110</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>References <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00031">dtn::dist</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00046">entry_dist()</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00061">log_dist_r()</a>, and <a class="el" href="LinkScheduleEstimator_8h-source.html#l00026">MAX_DIST</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00172">autocorrelation()</a>, and <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00338">badness_of_match()</a>.</p> </div> </div><p> <a class="anchor" name="a61e879bc1ff9495bca8c0ae83d9c3a6"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::autocorrelation" ref="a61e879bc1ff9495bca8c0ae83d9c3a6" args="(Log &log, unsigned int phase, int print_table)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int dtn::LinkScheduleEstimator::autocorrelation </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>phase</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>print_table</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00172">172</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>References <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00110">log_dist()</a>, and <a class="el" href="LinkScheduleEstimator_8h-source.html#l00024">WARPING_WINDOW</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00265">estimate_period()</a>.</p> </div> </div><p> <a class="anchor" name="bd21da2cc439402e70d7fc0cf2a2c6ca"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::print_log" ref="bd21da2cc439402e70d7fc0cf2a2c6ca" args="(Log &log, int relative_dates)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void dtn::LinkScheduleEstimator::print_log </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>relative_dates</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00197">197</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00370">extract_schedule()</a>.</p> </div> </div><p> <a class="anchor" name="b8b4ab28ded6c1b5dba2d97cfbe02c51"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::generate_samples" ref="b8b4ab28ded6c1b5dba2d97cfbe02c51" args="(Log &schedule, unsigned int log_size, unsigned int start_jitter, double duration_jitter)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">LinkScheduleEstimator::Log</a> * dtn::LinkScheduleEstimator::generate_samples </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>schedule</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>log_size</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>start_jitter</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>duration_jitter</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00217">217</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> </div> </div><p> <a class="anchor" name="d265c8f04daa7f58afe62733465fc747"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::estimate_period" ref="d265c8f04daa7f58afe62733465fc747" args="(Log &log)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int dtn::LinkScheduleEstimator::estimate_period </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>log</em> </td> <td> ) </td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00265">265</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>References <a class="el" href="LinkScheduleEstimator_8h-source.html#l00022">absdiff</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00172">autocorrelation()</a>, and <a class="el" href="LinkScheduleEstimator_8h-source.html#l00025">PERIOD_TOLERANCE</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00495">find_schedule()</a>.</p> </div> </div><p> <a class="anchor" name="1735a8401a37cf5e7f7473f797c16cb7"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::seek_to_before_date" ref="1735a8401a37cf5e7f7473f797c16cb7" args="(Log &log, unsigned int date)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int dtn::LinkScheduleEstimator::seek_to_before_date </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>date</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> return the index of the closest log entry at or before the given date. <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00296">296</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00308">closest_entry_to_date()</a>.</p> </div> </div><p> <a class="anchor" name="3a8b1347b7e2346fb47e9f3086eecd6d"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::closest_entry_to_date" ref="3a8b1347b7e2346fb47e9f3086eecd6d" args="(Log &log, unsigned int date)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int dtn::LinkScheduleEstimator::closest_entry_to_date </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>date</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> return the index of the closest log entry to the given date <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00308">308</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>References <a class="el" href="LinkScheduleEstimator_8h-source.html#l00022">absdiff</a>, and <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00296">seek_to_before_date()</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00338">badness_of_match()</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00370">extract_schedule()</a>, and <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00470">refine_period()</a>.</p> </div> </div><p> <a class="anchor" name="d682bec963c07b745a074e0f9227e4c4"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::clone_subsequence" ref="d682bec963c07b745a074e0f9227e4c4" args="(Log &log, unsigned int start, unsigned int len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">LinkScheduleEstimator::Log</a> * dtn::LinkScheduleEstimator::clone_subsequence </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00322">322</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00338">badness_of_match()</a>, and <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00370">extract_schedule()</a>.</p> </div> </div><p> <a class="anchor" name="500562bbb64e252746e50df3bf6b7ef7"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::badness_of_match" ref="500562bbb64e252746e50df3bf6b7ef7" args="(Log &pattern, Log &log, unsigned int warping_window, unsigned int period)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int dtn::LinkScheduleEstimator::badness_of_match </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>pattern</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>warping_window</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>period</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00338">338</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>References <a class="el" href="dtnrecv_8c-source.html#l00058">change</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00322">clone_subsequence()</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00308">closest_entry_to_date()</a>, and <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00110">log_dist()</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00370">extract_schedule()</a>.</p> </div> </div><p> <a class="anchor" name="53c3d355d5d0f4c13365dfc5319f2cb8"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::extract_schedule" ref="53c3d355d5d0f4c13365dfc5319f2cb8" args="(Log &log, unsigned int period_estimate)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">LinkScheduleEstimator::Log</a> * dtn::LinkScheduleEstimator::extract_schedule </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">Log</a> & </td> <td class="paramname"> <em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>period_estimate</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00370">370</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>References <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00338">badness_of_match()</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00322">clone_subsequence()</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00308">closest_entry_to_date()</a>, <a class="el" href="dtnperf-client_8c-source.html#l00954">pattern()</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00197">print_log()</a>, and <a class="el" href="LinkScheduleEstimator_8h-source.html#l00024">WARPING_WINDOW</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00495">find_schedule()</a>.</p> </div> </div><p> <a class="anchor" name="72909ef9d3fdd911fd87e8756b554edd"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::refine_period" ref="72909ef9d3fdd911fd87e8756b554edd" args="(Log &log, unsigned int period_estimate)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int dtn::LinkScheduleEstimator::refine_period </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">LinkScheduleEstimator::Log</a> & </td> <td class="paramname"> <em>log</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">unsigned int </td> <td class="paramname"> <em>period_estimate</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00470">470</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>References <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00308">closest_entry_to_date()</a>, and <a class="el" href="dtnping_8c-source.html#l00045">count</a>.</p> <p>Referenced by <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00495">find_schedule()</a>.</p> </div> </div><p> <a class="anchor" name="375f63c7c9eb507a4eae17257ccef180"></a><!-- doxytag: member="dtn::LinkScheduleEstimator::find_schedule" ref="375f63c7c9eb507a4eae17257ccef180" args="(Log &log)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">LinkScheduleEstimator::Log</a> * dtn::LinkScheduleEstimator::find_schedule </td> <td>(</td> <td class="paramtype"><a class="el" href="classdtn_1_1LinkScheduleEstimator.html#03f2dd943b7f8c9b0edc879ee4edabdf">LinkScheduleEstimator::Log</a> & </td> <td class="paramname"> <em>log</em> </td> <td> ) </td> <td><code> [private]</code></td> </tr> </table> </div> <div class="memdoc"> <p> This is the function to be called from the outside. <p> <p>Definition at line <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00495">495</a> of file <a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a>.</p> <p>References <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00265">estimate_period()</a>, <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00370">extract_schedule()</a>, and <a class="el" href="LinkScheduleEstimator_8cc-source.html#l00470">refine_period()</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following files:<ul> <li><a class="el" href="LinkScheduleEstimator_8h-source.html">LinkScheduleEstimator.h</a><li><a class="el" href="LinkScheduleEstimator_8cc-source.html">LinkScheduleEstimator.cc</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Mon Jul 21 14:09:54 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>