a. edgeIn.client.clients.size是输入边的clients的数量,即ProbePicker看到的上游节点的clients的数量;edgeOut.client.clients.size是输出边的clients的数量,即ProbePicker的下游节点看到的ProbePicker的clients的数量。两者相等,表明没有进行合并;两者不等,则表明进行了合并,则需要对source域进行区分;
b. 判断source属于哪一个client:edgeOut.client.clients.map(_.sourceId contains out.b.bits.source)
c. 如果合并前只有一个client的sourceId被合并后的client包含,则表明这个client没有与其他client进行合并,所以无需区分;
??
d. 否则需要根据地址确定是属于哪一个合并前的client(这些client的visibility不重叠),而后转换为对应client的sourceId: