| 156 | |
| 157 | |
| 158 | TxConfirmStats::TxConfirmStats(const std::vector<double>& defaultBuckets, |
| 159 | const std::map<double, unsigned int>& defaultBucketMap, |
| 160 | unsigned int maxPeriods, double _decay, unsigned int _scale) |
| 161 | : buckets(defaultBuckets), bucketMap(defaultBucketMap), decay(_decay), scale(_scale) |
| 162 | { |
| 163 | assert(_scale != 0 && "_scale must be non-zero"); |
| 164 | confAvg.resize(maxPeriods); |
| 165 | failAvg.resize(maxPeriods); |
| 166 | for (unsigned int i = 0; i < maxPeriods; i++) { |
| 167 | confAvg[i].resize(buckets.size()); |
| 168 | failAvg[i].resize(buckets.size()); |
| 169 | } |
| 170 | |
| 171 | txCtAvg.resize(buckets.size()); |
| 172 | m_feerate_avg.resize(buckets.size()); |
| 173 | |
| 174 | resizeInMemoryCounters(buckets.size()); |
| 175 | } |
| 176 | |
| 177 | void TxConfirmStats::resizeInMemoryCounters(size_t newbuckets) { |
| 178 | // newbuckets must be passed in because the buckets referred to during Read have not been updated yet. |