20210406实在是太需要梳理一下思路了(关于现在开始思考真正的问题:一个river node是否有同时分裂出多个News的子管道?目前这个问题所涉及到的两个节点分别是usrio808_recprefilter与eventbox) - ziyouzy/2021blog GitHub Wiki
目前的思考与总结,后期会存在如下模块:
eventBoxToUSRIO808
eventBoxToDi1Door1
eventBoxToDi2Door2
eventBoxToDi3TC1
eventBoxToFlutter
这也就意味着eventBox这个river-node需要分裂多个子管道
或者分裂的工作不给他来做,而是给他所在的river来做
再或者设计全新的模块,既是river-node也不是river,同时如果需要也可以内部包含eventBox,也可以融合在一起
另一个需求则是usrio808_recprefilter,后期他也需要分裂出多个管道:
News_FirstConnect
News_ToFlutter_19216811
News_ToFlutter_19216812
News_ToFlutter_19216813
在当前我只是把News_FirstConnect转化成了event
usrio808_recprefilter的问题更加的显而易见一些,因为作为river-node遇到了这样的需求场景,让他实现分裂确实是很合理的
不过是否可以存在如下形式:
map[string]*eventBox:
map["ToUSRIO808"]*eventBox
map["ToDi:Door1"]*eventBox
map["ToDi:Door2"]*eventBox
map["ToDi:TC1"]*eventBox
map["ToFlutter"]*eventBox
以及
map[string]*fromUSRIO808:
map["ToFlutter:UID:TCP192.168.1.1"]*fromUSRIO808
map["ToFlutter:UID:TCP192.168.1.2"]*fromUSRIO808
map["ToFlutter:UID:TCP192.168.1.3"]*fromUSRIO808
不过仅仅是目前的fromUSRIO808只需要一个map["ToFlutter:UID:TCP192.168.195.250"]*fromUSRIO808就够了
也就是说无论是在进行net.Conn的listen/accept,还是处理events管道的最初,都可以设计好这个map逻辑
而区别在于前者的map是随着accept的成功越来越多,后者似乎是在最初就要设计好这个map
另一方面也可以说,river-node的上层是river,而river在主函数中,必须是以map的形式存在,即使只需要一个就能满足需求,无论是to还是from也都必须放到一个map里