zoukankan      html  css  js  c++  java
  • Rocket

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

     
    简单介绍RegionReplicator的实现。
     
     
    1. 基本介绍
     
    根据mask把某一个区域复制成多个区域。复制的数目是mask中比特1的数目的2次幂。
     
    2. RegionReplicator
     
    1) 类参数
     
    mask是掩码,其中的比特1对应的位:
    a. 在待复制的区域地址的基址中应当为0;
    b. 在待复制的区域地址的掩码中应当为0;
    如此,根据这些位值的变化,就可以复制出多个区域。
     
    2) diplomacy node
     
    diplomacy node用于与上下游节点连接。
     
    这里是一个适配器节点,主要对向下传递的参数进行适配进行适配:
     
    a. ids
     
    mask中值为1的位,取值为0或1,然后各个位进行组合所得值的集合;
     
    b. managerFn
     
    把下游节点的manager参数中的每一个地址集合都使用mask进行扩展。
    如此向上游节点显示的manager参数就从之前的单个区域扩展成了多个区域。
     
    3) lazy module
     
    实现RegionReplicator的内部逻辑:
     
    1) 成对的输入边和输出边
     
     
    2) 默认直连
     
     
    3) 适配请求的地址
     
    in.a.bits.address是扩展之后的地址,把其中掩码位对应位的值清0,即可得到扩展前的地址。然后使用这个扩展前的地址向下游节点发起请求。
     
    4) 不支持Cache
     
     
    这个判断是要求regionType从UNCACHED/UNCACHEABLE/PUT_EFFECTS/GET_EFFECTS中取值:
     
    3. HasRegionReplicatorParams
     
    包含一个replicatorMask作为复制时使用的掩码:
     
  • 相关阅读:
    通过Ajax的方式执行GP服务
    Arcgis for js之GP实现缓冲区计算
    sde用sql实现erase
    OL2中设置鼠标的样式
    OL2中重置地图DIV大小后地图的联动
    OL2中的多地图联动展示
    Codeforces Round #357 (Div. 2) Heap Operations
    POJ-1847 Tram
    【转】一些图论、网络流入门题总结、汇总
    POJ-2398 Toy Storage
  • 原文地址:https://www.cnblogs.com/wjcdx/p/11460969.html
Copyright © 2011-2022 走看看