本文整理汇总了Java中com.subgraph.orchid.events.Event类的典型用法代码示例。如果您正苦于以下问题:Java Event类的具体用法?Java Event怎么用?Java Event使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Event类属于com.subgraph.orchid.events包,在下文中一共展示了Event类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: addConsensusDocument
import com.subgraph.orchid.events.Event; //导入依赖的package包/类
public synchronized void addConsensusDocument(ConsensusDocument consensus, boolean fromCache) {
if(consensus.equals(currentConsensus))
return;
if(currentConsensus != null && consensus.getValidAfterTime().isBefore(currentConsensus.getValidAfterTime())) {
logger.warning("New consensus document is older than current consensus document");
return;
}
synchronized(TrustedAuthorities.getInstance()) {
switch(consensus.verifySignatures()) {
case STATUS_FAILED:
logger.warning("Unable to verify signatures on consensus document, discarding...");
return;
case STATUS_NEED_CERTS:
consensusWaitingForCertificates = consensus;
requiredCertificates.addAll(consensus.getRequiredCertificates());
return;
case STATUS_VERIFIED:
break;
}
requiredCertificates.addAll(consensus.getRequiredCertificates());
}
final Map<HexDigest, RouterImpl> oldRouterByIdentity = new HashMap<HexDigest, RouterImpl>(routersByIdentity);
clearAll();
for(RouterStatus status: consensus.getRouterStatusEntries()) {
if(status.hasFlag("Running") && status.hasFlag("Valid")) {
final RouterImpl router = updateOrCreateRouter(status, oldRouterByIdentity);
addRouter(router);
classifyRouter(router);
}
final Descriptor d = getDescriptorForRouterStatus(status, consensus.getFlavor() == ConsensusFlavor.MICRODESC);
if(d != null) {
d.setLastListed(consensus.getValidAfterTime().getTime());
}
}
logger.fine("Loaded "+ routersByIdentity.size() +" routers from consensus document");
currentConsensus = consensus;
if(!fromCache) {
storeCurrentConsensus();
}
consensusChangedManager.fireEvent(new Event() {});
}