UNPKG

qminer

Version:

A C++ based data analytics platform for processing large-scale real-time streams containing structured and unstructured data

327 lines (323 loc) 12.4 kB
<!doctype html> <html> <head> <meta name="generator" content="JSDoc 3"> <meta charset="utf-8"> <title>Class: CircularRecordBuffer</title> <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Karla:400,400i,700,700i" type="text/css"> <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Noto+Serif:400,400i,700,700i" type="text/css"> <link rel="stylesheet" href="https://brick.a.ssl.fastly.net/Inconsolata:500" type="text/css"> <link href="css/baseline.css" rel="stylesheet"> </head> <body onload="prettyPrint()"> <nav id="jsdoc-navbar" role="navigation" class="jsdoc-navbar"> <div id="jsdoc-navbar-container"> <div id="jsdoc-navbar-content"> <a href="index.html" class="jsdoc-navbar-package-name">QMiner JavaScript API v9.4.0</a> </div> </div> </nav> <div id="jsdoc-body-container"> <div id="jsdoc-content"> <div id="jsdoc-content-container"> <div id="jsdoc-main" role="main"> <header class="page-header"> <div class="symbol-detail-labels"><span class="label label-kind">class</span>&nbsp;<span class="label label-static">static</span></div> <h1><small><a href="module-qm.html">qm</a>.<wbr></small><span class="symbol-name">CircularRecordBuffer</span></h1> <p class="source-link">Source: <a href="qminerdoc.js.html#source-line-3850">qminerdoc.<wbr>js:3850</a></p> <div class="symbol-classdesc"> <p>Circular buffer for storing records. Size of buffer is defined at start and is denoted in number of records. When buffer is full, old records are removed from the buffer and new records are stored in their place. For adding and deleting a callback is called. Records are stored by their IDs.</p> </div> <dl class="dl-compact"> </dl> </header> <section id="summary"> <div class="summary-callout"> <h2 class="summary-callout-heading">Methods</h2> <div class="summary-content"> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="module-qm.CircularRecordBuffer.html#load">load(fin)</a></dt> <dd> </dd> </dl> </div> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="module-qm.CircularRecordBuffer.html#push">push(rec)</a></dt> <dd> </dd> </dl> </div> <div class="summary-column"> <dl class="dl-summary-callout"> <dt><a href="module-qm.CircularRecordBuffer.html#save">save(fout)</a></dt> <dd> </dd> </dl> </div> </div> </div> </section> <section> <h2 id="CircularRecordBuffer">new&nbsp;<span class="symbol-name">CircularRecordBuffer</span><span class="signature"><span class="signature-params">([params])</span></span></h2> <section> <h3> Example </h3> <div> <pre class="prettyprint"><code>// TODO</code></pre> </div> </section> <section> <h3>Parameters</h3> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>params</p> </td> <td> <p>Object</p> </td> <td> <p>Yes</p> </td> <td> <p>Constructor parameters.</p> </td> </tr> <tr> <td> <p>param.store</p> </td> <td> <p><a href="module-qm.Store.html">module:qm.Store</a></p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Store for the records in the buffer.</p> </td> </tr> <tr> <td> <p>param.size</p> </td> <td> <p>number</p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Size of the buffer (number of records).</p> </td> </tr> <tr> <td> <p>param.onAdd</p> </td> <td> <p>function()</p> </td> <td> <p>Yes</p> </td> <td> <p>Callback executed when new record is added to the buffer. Callback is give two parameters: <br><code>rec</code> - The record. Type <a href="module-qm.Record.html">module:qm.Record</a>. <br><code>circRecBuff</code> - The circular record buffer instance. Type <a href="module-qm.CircularRecordBuffer.html">module:qm.CircularRecordBuffer</a>. </p> </td> </tr> <tr> <td> <p>param.onDelete</p> </td> <td> <p>function()</p> </td> <td> <p>Yes</p> </td> <td> <p>Callback executed when record is removed from the buffer. Callback is give two parameters: <br><code>rec</code> - The record. Type <a href="module-qm.Record.html">module:qm.Record</a>. <br><code>circRecBuff</code> - The circular record buffer instance. Type <a href="module-qm.CircularRecordBuffer.html">module:qm.CircularRecordBuffer</a>. </p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> </dl> </section> <section> <h2>Methods</h2> <section> <h3 id="load"><span class="symbol-name">load</span><span class="signature"><span class="signature-params">(fin)</span></span></h3> <p>Load circular buffer from input stream. Assumes store, onAdd and onDelete were already initialized in constructor.</p> <section> <h4> Example </h4> <div> <pre class="prettyprint"><code>// TODO</code></pre> </div> </section> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>fin</p> </td> <td> <p><a href="module-fs.FIn.html">module:fs.FIn</a></p> </td> <td> <p>&nbsp;</p> </td> <td> <p>input stream.</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> </dl> <h3 id="push"><span class="symbol-name">push</span><span class="signature"><span class="signature-params">(rec)</span></span></h3> <p>Add new record to the buffer.</p> <section> <h4> Example </h4> <div> <pre class="prettyprint"><code>// TODO</code></pre> </div> </section> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>rec</p> </td> <td> <p><a href="module-qm.Record.html">module:qm.Record</a></p> </td> <td> <p>&nbsp;</p> </td> <td> <p>New record.</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> </dl> <h3 id="save"><span class="symbol-name">save</span><span class="signature"><span class="signature-params">(fout)</span>&nbsp;&rarr; <span class="signature-returns"> <a href="module-fs.FOut.html">module:fs.FOut</a></span></span></h3> <p>Saves circular buffer to the output stream. Does not save store, onAdd and onDelete callbacks.</p> <section> <h4> Example </h4> <div> <pre class="prettyprint"><code>// TODO</code></pre> </div> </section> <section> <h4>Parameter</h4> <table class="jsdoc-details-table"> <thead> <tr> <th>Name</th> <th>Type</th> <th>Optional</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <p>fout</p> </td> <td> <p><a href="module-fs.FOut.html">module:fs.FOut</a></p> </td> <td> <p>&nbsp;</p> </td> <td> <p>Output stream.</p> </td> </tr> </tbody> </table> </section> <dl class="dl-compact"> <dt>Returns</dt> <dd> <p><code><a href="module-fs.FOut.html">module:fs.FOut</a></code>B The output stream <code>fout</code>.</p> </dd> </dl> </section> </section> </div> </div> <nav id="jsdoc-toc-nav" role="navigation"></nav> </div> </div> <footer id="jsdoc-footer" class="jsdoc-footer"> <div id="jsdoc-footer-container"> <p> </p> </div> </footer> <script src="scripts/jquery.min.js"></script> <script src="scripts/tree.jquery.js"></script> <script src="scripts/prettify.js"></script> <script src="scripts/jsdoc-toc.js"></script> <script src="scripts/linenumber.js"></script> <script src="scripts/scrollanchor.js"></script> </body> </html>