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);
        }
          }



