简短小模式 —— 时间事件发生器模式
简短小模式 —— 时间事件发生器模式
时间事件发生器
时间事件发生器是挂载在虚拟根VirtualRoot上的一个组件,它负责在特定的时间将特定类型的事件发布到系统总线上去。时间事件发生器会发布的事件有:
HasBoot1SecondEvent
HasBoot2SecondEvent
HasBoot5SecondEvent
HasBoot10SecondEvent
HasBoot20SecondEvent
HasBoot1MinuteEvent
HasBoot2MinuteEvent
HasBoot5MinuteEvent
HasBoot10MinuteEvent
HasBoot20MinuteEvent
HasBoot50MinuteEvent
HasBoot100MinuteEvent
HasBoot24HourEvent
Per1SecondEvent
Per2SecondEvent
Per5SecondEvent
Per10SecondEvent
Per20SecondEvent
Per1MinuteEvent
Per2MinuteEvent
Per5MinuteEvent
Per10MinuteEvent
Per20MinuteEvent
Per50MinuteEvent
Per100MinuteEvent
Per24HourEvent
以上26种时间事件的设计灵感来源于人民币币值的设计,具体为什么是这些数值我们不做深究,实践证明这些数值正是开源矿工所需要的。
由谁发出这些时间事件?
可以看出,这类时间事件不属于任何模块,它们是硬件系统的cpu发生出的,所以对于我们的系统来说应该把时间事件发生器放在我们的系统的虚拟根VirtualRoot上。
这些消息发送到什么地方去?
发布到系统总线上去。每一个系统都应该有自己内部的系统总线,时间事件消息发布到系统总线上去。系内内部的各组件根据自己的需求从总线上订阅事件修建事件消息所行走的路径。
力:走那条线程驱动这类事件?