Add new rule to rules engine: random match.
This commit is contained in:
parent
6651b8310e
commit
988049f39b
4 changed files with 33 additions and 4 deletions
|
@ -260,6 +260,11 @@ static json _renderRule(ZT_VirtualNetworkRule &rule)
|
|||
r["start"] = (unsigned int)rule.v.frameSize[0];
|
||||
r["end"] = (unsigned int)rule.v.frameSize[1];
|
||||
break;
|
||||
case ZT_NETWORK_RULE_MATCH_RANDOM:
|
||||
r["type"] = "MATCH_RANDOM";
|
||||
r["not"] = ((rule.t & 0x80) != 0);
|
||||
r["probability"] = (unsigned long)rule.v.randomProbability;
|
||||
break;
|
||||
case ZT_NETWORK_RULE_MATCH_TAGS_DIFFERENCE:
|
||||
r["type"] = "MATCH_TAGS_DIFFERENCE";
|
||||
r["not"] = ((rule.t & 0x80) != 0);
|
||||
|
@ -441,6 +446,9 @@ static bool _parseRule(json &r,ZT_VirtualNetworkRule &rule)
|
|||
rule.v.frameSize[0] = (uint16_t)(_jI(r["start"],0ULL) & 0xffffULL);
|
||||
rule.v.frameSize[1] = (uint16_t)(_jI(r["end"],(uint64_t)rule.v.frameSize[0]) & 0xffffULL);
|
||||
return true;
|
||||
} else if (t == "MATCH_RANDOM") {
|
||||
rule.t |= ZT_NETWORK_RULE_MATCH_RANDOM;
|
||||
rule.v.randomProbability = (uint32_t)(_jI(r["probability"],0ULL) & 0xffffffffULL);
|
||||
} else if (t == "MATCH_TAGS_DIFFERENCE") {
|
||||
rule.t |= ZT_NETWORK_RULE_MATCH_TAGS_DIFFERENCE;
|
||||
rule.v.tag.id = (uint32_t)(_jI(r["id"],0ULL) & 0xffffffffULL);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue