value('random_shuffle') === 1; } /** * 解析本次访问应使用的号码下标(0 .. numberCount-1) * * @param int $linkId 分流链接 ID * @param int $numberCount 可用号码数量 * @param SplitRoundRobinStore $roundRobinStore 关闭随机打乱时的轮转计数器 */ public static function resolvePickIndex( int $linkId, int $numberCount, SplitRoundRobinStore $roundRobinStore ): int { if ($numberCount <= 0) { return 0; } if ($numberCount === 1) { return 0; } if (self::isRandomShuffleEnabled($linkId)) { return random_int(0, $numberCount - 1); } return $roundRobinStore->nextIndex($linkId, $numberCount); } }