* * This source file is subject to the MIT license that is bundled. */ namespace Godruoyi\Snowflake; class RandomSequenceResolver implements SequenceResolver { /** * The las ttimestamp. * * @var null */ protected $lastTimeStamp = -1; /** * The sequence. * * @var int */ protected $sequence = 0; /** * {@inheritdoc} */ public function sequence(int $currentTime) { if ($this->lastTimeStamp === $currentTime) { ++$this->sequence; $this->lastTimeStamp = $currentTime; return $this->sequence; } $this->sequence = 0; $this->lastTimeStamp = $currentTime; return 0; } }