本文整理汇总了Java中com.subgraph.orchid.VoteAuthorityEntry类的典型用法代码示例。如果您正苦于以下问题:Java VoteAuthorityEntry类的具体用法?Java VoteAuthorityEntry怎么用?Java VoteAuthorityEntry使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
VoteAuthorityEntry类属于com.subgraph.orchid包,在下文中一共展示了VoteAuthorityEntry类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: addSignature
import com.subgraph.orchid.VoteAuthorityEntry; //导入依赖的package包/类
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");
return;
}
}
signatureCount += 1;
signatures.add(signature);
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:19,代码来源:ConsensusDocumentImpl.java
示例2: ConsensusDocumentImpl
import com.subgraph.orchid.VoteAuthorityEntry; //导入依赖的package包/类
ConsensusDocumentImpl() {
clientVersions = new HashSet<String>();
serverVersions = new HashSet<String>();
knownFlags = new HashSet<String>();
voteAuthorityEntries = new HashMap<HexDigest, VoteAuthorityEntry>();
routerStatusEntries = new ArrayList<RouterStatus>();
bandwidthWeights = new HashMap<String, Integer>();
parameters = new HashMap<String, Integer>();
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:10,代码来源:ConsensusDocumentImpl.java
示例3: verifySignatures
import com.subgraph.orchid.VoteAuthorityEntry; //导入依赖的package包/类
public synchronized SignatureStatus verifySignatures() {
boolean firstCall = isFirstCallToVerifySignatures;
isFirstCallToVerifySignatures = false;
requiredCertificates.clear();
int verifiedCount = 0;
int certsNeededCount = 0;
final int v3Count = TrustedAuthorities.getInstance().getV3AuthorityServerCount();
final int required = (v3Count / 2) + 1;
for(VoteAuthorityEntry entry: voteAuthorityEntries.values()) {
switch(verifySingleAuthority(entry)) {
case STATUS_FAILED:
break;
case STATUS_NEED_CERTS:
certsNeededCount += 1;
break;
case STATUS_VERIFIED:
verifiedCount += 1;
break;
}
}
if(verifiedCount >= required) {
return SignatureStatus.STATUS_VERIFIED;
} else if(verifiedCount + certsNeededCount >= required) {
if(firstCall) {
logger.info("Certificates need to be retrieved to verify consensus");
}
return SignatureStatus.STATUS_NEED_CERTS;
} else {
return SignatureStatus.STATUS_FAILED;
}
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:34,代码来源:ConsensusDocumentImpl.java
示例4: verifySingleAuthority
import com.subgraph.orchid.VoteAuthorityEntry; //导入依赖的package包/类
private SignatureStatus verifySingleAuthority(VoteAuthorityEntry authority) {
boolean certsNeeded = false;
boolean validSignature = false;
for(DirectorySignature s: authority.getSignatures()) {
DirectoryServer trusted = TrustedAuthorities.getInstance().getAuthorityServerByIdentity(s.getIdentityDigest());
if(trusted == null) {
logger.warning("Consensus signed by unrecognized directory authority: "+ s.getIdentityDigest());
return SignatureStatus.STATUS_FAILED;
} else {
switch(verifySignatureForTrustedAuthority(trusted, s)) {
case STATUS_NEED_CERTS:
certsNeeded = true;
break;
case STATUS_VERIFIED:
validSignature = true;
break;
default:
break;
}
}
}
if(validSignature) {
return SignatureStatus.STATUS_VERIFIED;
} else if(certsNeeded) {
return SignatureStatus.STATUS_NEED_CERTS;
} else {
return SignatureStatus.STATUS_FAILED;
}
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:33,代码来源:ConsensusDocumentImpl.java
示例5: addVoteAuthorityEntry
import com.subgraph.orchid.VoteAuthorityEntry; //导入依赖的package包/类
void addVoteAuthorityEntry(VoteAuthorityEntry entry) {
voteAuthorityEntries.put(entry.getIdentity(), entry);
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:4,代码来源:ConsensusDocumentImpl.java
注:本文中的com.subgraph.orchid.VoteAuthorityEntry类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论