public function testHashSpaceLookupsAreValidTargets() { $targets = array(); foreach (range(1, 10) as $i) { $targets[] = "target{$i}"; } $hashSpace = new Flexihash(); $hashSpace->addTargets($targets); foreach (range(1, 10) as $i) { $this->assertTrue(in_array($hashSpace->lookup("r{$i}"), $targets), 'target must be in list of targets'); } }
function formatKml($kmldata, $f) { $topicArr = explode(',', getconfig('kafkaTopic')); $hash = new Flexihash(); $hash->addTargets($topicArr); $msgs = []; if (!empty($kmldata)) { foreach ($kmldata as $k => $kml) { $msg = array('DIANHAO' => $kml['storeId'], 'FENPEI' => $kml['distribution'], 'RTHUOHAO' => $kml['rtNum'], 'CREATE_TIME' => $kml['createTime'], 'DOC_TIME' => $kml['docTime'], 'KML_FILE' => $f); $key = $hash->lookup($kml['storeId'] . $kml['rtNum']); $msgs[$key][] = $msg; } return $msgs; } }
public function __construct(array $hostList) { $this->oHash = new Flexihash(); $this->oHash->addTargets(array_keys($hostList)); $this->hostList = $hostList; }