zoukankan      html  css  js  c++  java
  • Rocket

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

     
    先介绍如何使用AddressAdjuster,然后分析UI参数的生成及使用。
     
     
    1. AddressAdjuster的使用
     
    a. 创建AddressAdjuster实例
     
    注意usage()方法有一个implicit Parameters参数,在方法范围内引入了一个隐式参数对象,在new AddressAdjuster的时候会使用。
     
    b. 关联node的上下游节点
     
     
    c. 关联chip_id的上游节点
     
     
    d. 引用module构建硬件模块
     
     
    2. UI生成
     
    UI是指Node的DUEB参数中的UI。
     
    引用adjuster.module后会执行module定义的代码,其中:
     
    会调用node.in方法:
     
    bundulesIn和edgesIn都是lazy变量:
     
    并且bundlesIn依赖于edgesIn,这里主要关注edgesIn:
     
    edgesIn依赖于iPorts和uiParams:
     
    这里的iPorts为输入口,即与parent的连接口,iPorts.size = 1。
     
    uiParams用到了uoParams:
     
    这里oPorts为输出口,即与local和remote相连的连接口。n分别为local和remote节点。
     
    所以uiParams中的:
    a. iPorts.size = 1;
    b. uoParams为local和remote节点向上传播的TLManagerPortParameters参数,uoParams.size = 2;
     
    mapParamsU的实现为:
    把uoParams传递给uFn()方法,返回一个UI;然后把这个UI复制成n(=1)份。
     
    uFn()的实现为:
     
    返回的一个UI为:
     
    3. UI使用
     
    a. edgesIn
     
    edgesIn通过调用edgeI方法生成:
    其中i为生成的UI。
     
    edgeI方法的实现为:
     
    其中,pu为UI,即TLManagerPortParameters:
     
    b. bundlesIn
     
    bundlesIn通过edgesIn和bundleI方法生成:
     
    bundleI方法的实现如下:
     
    ei.bundle的实现如下:
     
    TLEdgeParameters是TLEdgeIn的父类:
    所以TLEdgeParameters中的manager参数,即是传入的UI参数。
     
    TLBundleParameters()伴生方法的实现如下:
     
    可以看到其中并没有使用UI,亦即manager参数中的实际地址集合。
     
    c. parentEdge的使用
     
    所以不需要关注parent,只需要关注parentEdge的使用,以坚持是否用到其中的地址集合即可:
     
    parentEdge的使用如下:
    TLArbiter.robin中也没有实际使用到manager的地址集合。
     
    所以managerFn的实现中,废了大力气生成的地址集合,目前来看并没有实际用处。
     
  • 相关阅读:
    web前端技术社区分享
    programming-challenges Shoemaker's Problem (110405) 题解
    caffe 训练測试自己的数据集
    BootStrap有用代码片段(持续总结)
    H5学习_番外篇_PHP数据库操作
    WPF-MVVM-Demo
    android Toast大全(五种情形)建立属于你自己的Toast
    Java
    记一次死锁问题的排查和解决
    一步一步跟我学习lucene(19)---lucene增量更新和NRT(near-real-time)Query近实时查询
  • 原文地址:https://www.cnblogs.com/wjcdx/p/10835052.html
Copyright © 2011-2022 走看看