private function loadTokensAndTimestamp()
    {
        $microtime = $this->storage->getMicrotime();
        
        // Drop overflowing tokens
        $minMicrotime = $this->tokenConverter->convertTokensToMicrotime($this->capacity);
        if ($minMicrotime > $microtime) {
            $microtime = $minMicrotime;
        }
        
        $tokens = $this->tokenConverter->convertMicrotimeToTokens($microtime);
        return [
            "tokens" => $tokens,
            "microtime" => $microtime
        ];
    }
private function loadTokensAndTimestamp()
    {
        $microtime = $this->storage->getMicrotime();
        
        // Drop overflowing tokens
        $minMicrotime = $this->tokenConverter->convertTokensToMicrotime($this->capacity);
        if ($minMicrotime > $microtime) {
            $microtime = $minMicrotime;
        }
        
        $tokens = $this->tokenConverter->convertMicrotimeToTokens($microtime);
        return [
            "tokens" => $tokens,
            "microtime" => $microtime
        ];
    }
private function loadTokensAndTimestamp ( ) { $ microtime = $ this -> storage -> getMicrotime ( ) ; // Drop overflowing tokens $ minMicrotime = $ this -> tokenConverter -> convertTokensToMicrotime ( $ this -> capacity ) ; if ( $ minMicrotime > $ microtime ) { $ microtime = $ minMicrotime ; } $ tokens = $ this -> tokenConverter -> convertMicrotimeToTokens ( $ microtime ) ; return [ "tokens" => $ tokens , "microtime" => $ microtime ] ; }
Loads the stored timestamp and its respective amount of tokens.

This method is a convenience method to allow sharing code in
{@link TokenBucket::getTokens()} and {@link TokenBucket::consume()}
while accessing the storage only once.

@throws StorageException The stored microtime could not be accessed.
@return array tokens and microtime
Loads the stored timestamp and its respective amount of tokens .