package org.openstack.atlas.usagerefactor.helpers;
import org.openstack.atlas.service.domain.entities.Usage;
import org.openstack.atlas.service.domain.usage.entities.LoadBalancerMergedHostUsage;
public class RollupUsageHelper {
public static void calculateAndSetBandwidth(Usage usageToProcess, LoadBalancerMergedHostUsage LoadBalancerMergedHostUsage) {
usageToProcess.setIncomingTransferSsl(usageToProcess.getIncomingTransferSsl() + LoadBalancerMergedHostUsage.getIncomingTransferSsl());
usageToProcess.setOutgoingTransferSsl(usageToProcess.getOutgoingTransferSsl() + LoadBalancerMergedHostUsage.getOutgoingTransferSsl());
usageToProcess.setIncomingTransfer(usageToProcess.getIncomingTransfer() + LoadBalancerMergedHostUsage.getIncomingTransfer());
usageToProcess.setOutgoingTransfer(usageToProcess.getOutgoingTransfer() + LoadBalancerMergedHostUsage.getOutgoingTransfer());
}
public static void calculateAndSetAverageConcurrentConnections(Usage usageToProcess,
LoadBalancerMergedHostUsage LoadBalancerMergedHostUsage) {
double total = usageToProcess.getAverageConcurrentConnections() * usageToProcess.getNumberOfPolls();
double total_ssl = usageToProcess.getAverageConcurrentConnectionsSsl() * usageToProcess.getNumberOfPolls();
total += LoadBalancerMergedHostUsage.getConcurrentConnections();
total_ssl += LoadBalancerMergedHostUsage.getConcurrentConnectionsSsl();
usageToProcess.setNumberOfPolls(usageToProcess.getNumberOfPolls() + 1);
double newAcc = total / usageToProcess.getNumberOfPolls();
double newAccSsl = total_ssl / usageToProcess.getNumberOfPolls();
usageToProcess.setAverageConcurrentConnections(newAcc);
usageToProcess.setAverageConcurrentConnectionsSsl(newAccSsl);
}
}