$info Server information. */ private function __construct( public readonly bool $ok, public readonly string $message, public readonly ?float $latency_ms, public readonly array $info, ) { } /** * Successful check. * * @param float $latency_ms Latency. * @param array $info Info. */ public static function success( float $latency_ms, array $info ): self { return new self( true, 'Connected.', round( $latency_ms, 2 ), $info ); } /** * Failed check. * * @param string $message Reason. */ public static function failure( string $message ): self { return new self( false, $message, null, [] ); } }