use of io.nuls.consensus.poc.provider.OrphanBlockProvider in project nuls by nuls-io.
the class ConsensusScheduler method start.
public boolean start() {
ChainManager chainManager = new ChainManager();
OrphanBlockProvider orphanBlockProvider = new OrphanBlockProvider();
PocConsensusContext.setChainManager(chainManager);
cacheManager = new CacheManager(chainManager);
try {
initDatas();
} catch (Exception e) {
Log.warn(e.getMessage());
}
threadPool = TaskManager.createScheduledThreadPool(6, new NulsThreadFactory(ConsensusConstant.MODULE_ID_CONSENSUS, "consensus-poll-control"));
BlockProcess blockProcess = new BlockProcess(chainManager, orphanBlockProvider);
if (!protocolInited) {
protocolInited = true;
initNulsProtocol();
}
threadPool.scheduleAtFixedRate(new BlockProcessTask(blockProcess), 1000L, 300L, TimeUnit.MILLISECONDS);
ForkChainProcess forkChainProcess = new ForkChainProcess(chainManager);
threadPool.scheduleAtFixedRate(new ForkChainProcessTask(forkChainProcess), 1000L, 1000L, TimeUnit.MILLISECONDS);
orphanBlockProcess = new OrphanBlockProcess(chainManager, orphanBlockProvider);
orphanBlockProcess.start();
threadPool.scheduleAtFixedRate(new BlockMonitorProcessTask(new BlockMonitorProcess(chainManager)), 60, 60, TimeUnit.SECONDS);
TaskManager.createAndRunThread(ConsensusConstant.MODULE_ID_CONSENSUS, "poc-reward-cache", new RewardStatisticsProcessTask(NulsContext.getServiceBean(RewardStatisticsProcess.class)));
threadPool.scheduleAtFixedRate(new RewardCalculatorTask(NulsContext.getServiceBean(RewardStatisticsProcess.class)), ProtocolConstant.BLOCK_TIME_INTERVAL_SECOND, ProtocolConstant.BLOCK_TIME_INTERVAL_SECOND, TimeUnit.SECONDS);
threadPool.scheduleAtFixedRate(new TxProcessTask(), 5, 1, TimeUnit.SECONDS);
ConsensusProcess consensusProcess = new ConsensusProcess(chainManager);
threadPool.scheduleAtFixedRate(new ConsensusProcessTask(consensusProcess), 1000L, 1000L, TimeUnit.MILLISECONDS);
return true;
}
use of io.nuls.consensus.poc.provider.OrphanBlockProvider in project nuls by nuls-io.
the class BlockProcessTaskTest method init.
@Before
public void init() {
ChainManager chainManager = new ChainManager();
OrphanBlockProvider orphanBlockProvider = new OrphanBlockProvider();
BlockProcess blockProcess = new BlockProcess(chainManager, orphanBlockProvider);
blockProcessTask = new BlockProcessTask(blockProcess);
downloadService = SpringLiteContext.getBean(ConsensusDownloadServiceImpl.class);
}
Aggregations