当前位置: 首页>>代码示例>>Java>>正文


Java Event类代码示例

本文整理汇总了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() {});
}
 
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:51,代码来源:DirectoryImpl.java


注:本文中的com.subgraph.orchid.events.Event类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。