Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /** * This file is part of the reliforp/reli-prof package. * * (c) sji <sji@sj-i..
Decoded Output download
<?php
/**
* This file is part of the reliforp/reli-prof package.
*
* (c) sji <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Reli\Lib\Loop\LoopMiddleware;
use Reli\Lib\Loop\LoopMiddlewareInterface;
use function hrtime;
use function time_nanosleep;
final class NanoSleepMiddleware implements LoopMiddlewareInterface
{
/** @param positive-int $sleep_nano_seconds */
public function __construct(
private int $sleep_nano_seconds,
private LoopMiddlewareInterface $chain,
) {
}
public function invoke(): bool
{
$start = hrtime(true);
if (!$this->chain->invoke()) {
return false;
}
$wait = $this->sleep_nano_seconds - (hrtime(true) - $start);
if ($wait > 0) {
/**
* @psalm-suppress UnusedFunctionCall
* @psalm-suppress InvalidArgument
*/
time_nanosleep(0, $wait);
}
return true;
}
}
?>
Did this file decode correctly?
Original Code
<?php
/**
* This file is part of the reliforp/reli-prof package.
*
* (c) sji <[email protected]>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
declare(strict_types=1);
namespace Reli\Lib\Loop\LoopMiddleware;
use Reli\Lib\Loop\LoopMiddlewareInterface;
use function hrtime;
use function time_nanosleep;
final class NanoSleepMiddleware implements LoopMiddlewareInterface
{
/** @param positive-int $sleep_nano_seconds */
public function __construct(
private int $sleep_nano_seconds,
private LoopMiddlewareInterface $chain,
) {
}
public function invoke(): bool
{
$start = hrtime(true);
if (!$this->chain->invoke()) {
return false;
}
$wait = $this->sleep_nano_seconds - (hrtime(true) - $start);
if ($wait > 0) {
/**
* @psalm-suppress UnusedFunctionCall
* @psalm-suppress InvalidArgument
*/
time_nanosleep(0, $wait);
}
return true;
}
}
Function Calls
None |
Stats
MD5 | 2f2cb98206ab5fdb4003f4f39930d8e5 |
Eval Count | 0 |
Decode Time | 106 ms |