be more helpful when raising rb_eTypeError in string_arr string_arr_new(VALUE rb_stri...
[rrdtool.git] / PROJECTS
1 NEW RRD DATAFORMAT with Accessor Functions
2 ==========================================
3
4 Interested:
5
6 Tobias Oetiker <tobi@oetiker.ch>
7 Jake Brutlag <jakeb@microsoft.com>  
8 - updating rrd_update to use accessor fks
9
10 Plan:
11
12 Encapsulating access to the RRD files through
13 special accessor functions which provide
14 access to the datastructures within the
15 RRDfiles. 
16
17 pseudo code by Jake
18
19 For example, here is a current code block from rrd_update.c:
20
21         for (i=0;i<rrd.stat_head->ds_cnt;i++) {
22         if(isnan(pdp_new[i]))
23             rrd.pdp_prep[i].scratch[PDP_unkn_sec_cnt].u_cnt += interval;
24         else
25             rrd.pdp_prep[i].scratch[PDP_val].u_val+= pdp_new[i];
26           }
27
28 This could read:
29
30         for (i=0 ; i < getDSCount(&rrd) ;i++) {
31         if(isnan(pdp_new[i])) {
32             temp = getPDPParam(&rrd, i, PDP_unkn_sec_cnt);
33             temp.u_cnt += interval;
34             setPDPParam(&rrd, i, PDP_unkn_sec_cnt, temp);
35         } else {
36             temp = getPDPParam(&rrd, i, PDP_val);
37             temp.u_val += pdp_new[i];
38             setPDPParam(&rrd, i, PDP_val, temp);
39         }
40           }
41
42
43