<?php /** @license MIT * Copyright 2017 J. King, Dustin Wilson et al. * See LICENSE and AUTHORS files for details */ declare(strict_types=1); namespace JKingWeb\Arsse\Service\Internal; use JKingWeb\Arsse\Arsse; class Driver implements \JKingWeb\Arsse\Service\Driver { protected $queue = []; public static function driverName(): string { return Arsse::$lang->msg("Driver.Service.Internal.Name"); } public static function requirementsMet(): bool { // this driver has no requirements return true; } public function __construct() { } public function queue(int ...$feeds): int { $this->queue = array_merge($this->queue, $feeds); return sizeof($this->queue); } public function exec(): int { while (sizeof($this->queue)) { $id = array_shift($this->queue); Arsse::$db->feedUpdate($id); } return Arsse::$conf->serviceQueueWidth - sizeof($this->queue); } public function clean(): bool { $this->queue = []; return true; } }