--- /dev/null
+NEW RRD DATAFORMAT with Accessor Functions
+==========================================
+
+Interested:
+
+Tobias Oetiker <oetiker@ee.ethz.ch>
+Jake Brutlag <jakeb@microsoft.com>
+- updating rrd_update to use accessor fks
+Karl Schilke <karl_schilke@eli.net>
+- changeing data access to mmap
+
+
+Plan:
+
+Encapsulating access to the RRD files through
+special accessor functions which provide
+access to the datastructures within the
+RRDfiles.
+
+pseudo code by Jake
+
+For example, here is a current code block from rrd_update.c:
+
+ for (i=0;i<rrd.stat_head->ds_cnt;i++) {
+ if(isnan(pdp_new[i]))
+ rrd.pdp_prep[i].scratch[PDP_unkn_sec_cnt].u_cnt += interval;
+ else
+ rrd.pdp_prep[i].scratch[PDP_val].u_val+= pdp_new[i];
+ }
+
+This could read:
+
+ for (i=0 ; i < getDSCount(&rrd) ;i++) {
+ if(isnan(pdp_new[i])) {
+ temp = getPDPParam(&rrd, i, PDP_unkn_sec_cnt);
+ temp.u_cnt += interval;
+ setPDPParam(&rrd, i, PDP_unkn_sec_cnt, temp);
+ } else {
+ temp = getPDPParam(&rrd, i, PDP_val);
+ temp.u_val += pdp_new[i];
+ setPDPParam(&rrd, i, PDP_val, temp);
+ }
+ }
+
+
+