}
/* assumes that somebody already called init for Dest */
-void
-statHistCopy(StatHist * Dest, const StatHist * Orig)
-{
- assert(Dest);
- assert(Orig);
- debugs(62, 3, "statHistCopy: Dest=" << Dest << ", Orig=" << Orig);
- assert(Dest->bins);
- /* better be safe than sorry */
- debugs(62, 3, "statHistCopy: capacity " << Dest->capacity << " " << Orig->capacity);
- assert(Dest->capacity == Orig->capacity);
- debugs(62, 3, "statHistCopy: min " << Dest->min << " " << Orig->min );
- assert(Dest->min == Orig->min);
- debugs(62, 3, "statHistCopy: max " << Dest->max << " " << Orig->max );
- assert(Dest->max == Orig->max);
- debugs(62, 3, "statHistCopy: scale " << Dest->scale << " " << Orig->scale );
- assert(fabs(Dest->scale - Orig->scale) < 0.0000001);
- assert(Dest->val_in == Orig->val_in);
- assert(Dest->val_out == Orig->val_out);
- /* actual copy */
- debugs(62, 3, "statHistCopy: copying " <<
- (long int) (Dest->capacity * sizeof(*Dest->bins)) << " bytes to " <<
- Dest->bins << " from " << Orig->bins);
-
- memcpy(Dest->bins, Orig->bins, Dest->capacity * sizeof(*Dest->bins));
-}
-
+/* TODO: remove assumption */
StatHist&
StatHist::operator =(const StatHist & src)
{
assert(Dest->bins);
if (Dest->capacity == Orig->capacity)
- statHistCopy(Dest, Orig);
+ *Dest=*Orig;
}
void
statCountersInitSpecial(dest);
/* now handle special cases */
/* note: we assert that histogram capacities do not change */
- statHistCopy(&dest->client_http.all_svc_time, &orig->client_http.all_svc_time);
- statHistCopy(&dest->client_http.miss_svc_time, &orig->client_http.miss_svc_time);
- statHistCopy(&dest->client_http.nm_svc_time, &orig->client_http.nm_svc_time);
- statHistCopy(&dest->client_http.nh_svc_time, &orig->client_http.nh_svc_time);
- statHistCopy(&dest->client_http.hit_svc_time, &orig->client_http.hit_svc_time);
- statHistCopy(&dest->icp.query_svc_time, &orig->icp.query_svc_time);
- statHistCopy(&dest->icp.reply_svc_time, &orig->icp.reply_svc_time);
- statHistCopy(&dest->dns.svc_time, &orig->dns.svc_time);
- statHistCopy(&dest->cd.on_xition_count, &orig->cd.on_xition_count);
- statHistCopy(&dest->comm_icp_incoming, &orig->comm_icp_incoming);
- statHistCopy(&dest->comm_http_incoming, &orig->comm_http_incoming);
- statHistCopy(&dest->select_fds_hist, &orig->select_fds_hist);
+ dest->client_http.all_svc_time=orig->client_http.all_svc_time;
+ dest->client_http.miss_svc_time=orig->client_http.miss_svc_time;
+ dest->client_http.nm_svc_time=orig->client_http.nm_svc_time;
+ dest->client_http.nh_svc_time=orig->client_http.nh_svc_time;
+
+ dest->client_http.hit_svc_time=orig->client_http.hit_svc_time;
+ dest->icp.query_svc_time=orig->icp.query_svc_time;
+ dest->icp.reply_svc_time=orig->icp.reply_svc_time;
+ dest->dns.svc_time=orig->dns.svc_time;
+ dest->cd.on_xition_count=orig->cd.on_xition_count;
+ dest->comm_icp_incoming=orig->comm_icp_incoming;
+ dest->comm_http_incoming=orig->comm_http_incoming;
+ dest->select_fds_hist=orig->select_fds_hist;
}
static void