void addServerVersion(String version) { serverVersions.add(version); }
void addParameter(String name, int value) { parameters.put(name, value); }
void addBandwidthWeight(String name, int value) { bandwidthWeights.put(name, value); }
void addSignature(DirectorySignature signature) {
final VoteAuthorityEntry voteAuthority = voteAuthorityEntries.get(signature.getIdentityDigest());
if(voteAuthority == null) {
logger.warning("Consensus contains signature for source not declared in authority section: "+ signature.getIdentityDigest());
return;
}
final List<DirectorySignature> signatures = voteAuthority.getSignatures();
final DigestAlgorithm newSignatureAlgorithm = signature.getSignature().getDigestAlgorithm();
for(DirectorySignature sig: signatures) {
DigestAlgorithm algo = sig.getSignature().getDigestAlgorithm();
if(algo.equals(newSignatureAlgorithm)) {
logger.warning("Consensus contains two or more signatures for same source with same algorithm");