https://mp.weixin.qq.com/s/ohBVNAXZUA538qSxfBGMKA

 
简单介绍Broadcaster的实现。
 
 
1. Broadcaster
 
广播即是把输入口的输入转发到每个输出口输出。
 
Takes in data on one decoupled interface and broadcasts it to N decoupled output interfaces.
 
2. io
 
a. in:输入口;
b. out: n个输出口;
 
3. idx
 
idx标识当前转发的输出端口号。
 
idx从0开始递增,增加到n-1反转为0:
 
这样就可以逐个转发到每一个输出端口。
 
4. save
 
save存储in的数据,以供后续转发使用。
 
5. io.out.head
 
io.in的值首先转发到io.out(0),即io.out.head:
 
 
当io.in输出到io.out.head的同时,io.in.bits也缓存到save中:
 
6. io.out(i)
 
随着idx的递增,逐个转发save中的数据。
 
7. 附录
 略
 

最新文章

  1. 部署 DevStack - 每天5分钟玩转 OpenStack(17)
  2. [JS]笔记15之客户端存储cookie
  3. 权重最小生成树的思想与Kruskal算法
  4. Android笔记:多线程
  5. [leetcode] 12. Integer to Roman
  6. Testing - Tips
  7. 终端可以连接MySQL但是navicat还是报错:Can't connect to MySQL server on '127.0.0.1'(61)
  8. jQuery实现表格行的动态增加与删除 序号 从 1开始排列
  9. [ZOJ 3662] Math Magic (动态规划+状态压缩)
  10. win2008 64位 + oracle11G 64位 IIS7.5 配置WEBSERVICE
  11. VisJS 随机图
  12. HDU2035 人见人爱A^B(快速幂)
  13. Core Animation之CAKeyframeAnimation
  14. ubuntu 10.04 下 samba 服务的配置
  15. 实验楼-3-Linux用户及用户组
  16. 如何解压 Mac OS X 下的 PKG 文件(网摘)
  17. java选择排序详解
  18. mongodb3.6 副本集(三)mongodb 如何做数据备灾
  19. .net使用Aspose.Words进行Word替换操作的实现代码
  20. 利用iptables防火墙允许1521端口被连接

热门文章

  1. Git 获取远程仓库指定分支内容
  2. redis crackit入侵事件总结
  3. 为什么PUSH推送要经常背锅?
  4. 利用 Maven 构造 Spring Cloud 微服务架构 模块使用 spring Boot构建
  5. python语法学习第十一天--模块
  6. [hdu4713 Permutation]DP
  7. docker build报错
  8. express+mysql实现简单的登录功能
  9. live2d web端加载moc3模型
  10. 3.4 Go字符型