CasperSecurity

Current Path : /var/www/finance.uiet.co.in/UietFinance/vendor/fidry/cpu-core-counter/src/
Upload File :
Current File : /var/www/finance.uiet.co.in/UietFinance/vendor/fidry/cpu-core-counter/src/Diagnoser.php

<?php

/*
 * This file is part of the Fidry CPUCounter Config package.
 *
 * (c) Théo FIDRY <theo.fidry@gmail.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

declare(strict_types=1);

namespace Fidry\CpuCoreCounter;

use Fidry\CpuCoreCounter\Finder\CpuCoreFinder;
use function array_map;
use function explode;
use function implode;
use function max;
use function str_repeat;
use const PHP_EOL;

/**
 * Utility to debug.
 *
 * @private
 */
final class Diagnoser
{
    /**
     * Provides an aggregated diagnosis based on each finders diagnosis.
     *
     * @param list<CpuCoreFinder> $finders
     */
    public static function diagnose(array $finders): string
    {
        $diagnoses = array_map(
            static function (CpuCoreFinder $finder): string {
                return self::diagnoseFinder($finder);
            },
            $finders
        );

        return implode(PHP_EOL, $diagnoses);
    }

    /**
     * Executes each finders.
     *
     * @param list<CpuCoreFinder> $finders
     */
    public static function execute(array $finders): string
    {
        $diagnoses = array_map(
            static function (CpuCoreFinder $finder): string {
                $coresCount = $finder->find();

                return implode(
                    '',
                    [
                        $finder->toString(),
                        ': ',
                        null === $coresCount ? 'NULL' : $coresCount,
                    ]
                );
            },
            $finders
        );

        return implode(PHP_EOL, $diagnoses);
    }

    private static function diagnoseFinder(CpuCoreFinder $finder): string
    {
        $diagnosis = $finder->diagnose();

        $maxLineLength = max(
            array_map(
                'strlen',
                explode(PHP_EOL, $diagnosis)
            )
        );

        $separator = str_repeat('-', $maxLineLength);

        return implode(
            '',
            [
                $finder->toString().':'.PHP_EOL,
                $separator.PHP_EOL,
                $diagnosis.PHP_EOL,
                $separator.PHP_EOL,
            ]
        );
    }

    private function __construct()
    {
    }
}
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY