zoukankan      html  css  js  c++  java
  • Rocket

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

     
    简单介绍Delayer的实现。
     
    1. 基本介绍
     
    以一定的概率延迟消息的传递。
     
    类参数 q is the probability to delay a request:
     
    取值范围在[0, 1):
     
    2. diplomacy node
     
    Delayer的diplomacy node就是一个简单的AdapterNode,没有对经过他的参数做修改:
     
    3. lazy module
     
    lazy module实现内部逻辑,把输入边与输出边连接到一起。
     
    1) 成对的输入边和输出边
     
     
    2) anoise
     
    输入到channel a的噪声:
    其中:LFSRNoiseMaker用于产生固定宽度的随机输出;
     
    3) bnoise
     
    输入到channel b的噪声:
     
    4) cnoise
     
    输入到channel c的噪声:
     
    5) dnoise
     
    输入到channel d的噪声:
     
    6) enoise
     
    输入到channel e的噪声:
     
    7) feed a/b/c/d/e
     
    把噪声和上游消息feed到下游:
     
    8) feed
     
    用于把source和noise,喂到sink中:
    其中:
    a. q是一个概率值,这个值越大,q * 65535 <= random_16的可能性越小,即allow的概率越小,也就是延迟的概率越大;
    b. sink.valid为假时,向sink.bits喂入noise。但此时sink.valid为假,所以sink并不会从sink.bits中读取消息;也就是说noise并不会被使用;
     
    4. object Delayer
     
    用于简化Delayer的创建:
     
    5. 附录
     
     
  • 相关阅读:
    移动端rem布局
    父子组件通信
    拦截器
    Vue路由教程
    使用var和let的区别
    数组去重的几种方法
    利用位运算进行权限控制
    线程基础
    关于get请求的乱码问题
    nuxt.js Navigating to current location ("/xxx") is not allowed
  • 原文地址:https://www.cnblogs.com/wjcdx/p/11329681.html
Copyright © 2011-2022 走看看