mirror of
https://github.com/nextcloud/server.git
synced 2026-04-21 22:27:31 -04:00
chore: Remove unused \OC\Cache\CappedMemoryCache
Signed-off-by: provokateurin <kate@provokateurin.de> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
This commit is contained in:
parent
eba11750eb
commit
e38dfef0dc
7 changed files with 3 additions and 190 deletions
|
|
@ -3452,17 +3452,6 @@
|
|||
<code><![CDATA[$this->providers]]></code>
|
||||
</UndefinedInterfaceMethod>
|
||||
</file>
|
||||
<file src="lib/private/Cache/CappedMemoryCache.php">
|
||||
<MissingTemplateParam>
|
||||
<code><![CDATA[\ArrayAccess]]></code>
|
||||
</MissingTemplateParam>
|
||||
</file>
|
||||
<file src="lib/private/Cache/File.php">
|
||||
<LessSpecificImplementedReturnType>
|
||||
<code><![CDATA[bool|mixed]]></code>
|
||||
<code><![CDATA[bool|mixed]]></code>
|
||||
</LessSpecificImplementedReturnType>
|
||||
</file>
|
||||
<file src="lib/private/Calendar/Manager.php">
|
||||
<LessSpecificReturnStatement>
|
||||
<code><![CDATA[array_merge(
|
||||
|
|
|
|||
4
dist/settings-vue-settings-personal-info.js
vendored
4
dist/settings-vue-settings-personal-info.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1183,7 +1183,6 @@ return array(
|
|||
'OC\\BinaryFinder' => $baseDir . '/lib/private/BinaryFinder.php',
|
||||
'OC\\Blurhash\\Listener\\GenerateBlurhashMetadata' => $baseDir . '/lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php',
|
||||
'OC\\Broadcast\\Events\\BroadcastEvent' => $baseDir . '/lib/private/Broadcast/Events/BroadcastEvent.php',
|
||||
'OC\\Cache\\CappedMemoryCache' => $baseDir . '/lib/private/Cache/CappedMemoryCache.php',
|
||||
'OC\\Calendar\\AvailabilityResult' => $baseDir . '/lib/private/Calendar/AvailabilityResult.php',
|
||||
'OC\\Calendar\\CalendarEventBuilder' => $baseDir . '/lib/private/Calendar/CalendarEventBuilder.php',
|
||||
'OC\\Calendar\\CalendarQuery' => $baseDir . '/lib/private/Calendar/CalendarQuery.php',
|
||||
|
|
|
|||
|
|
@ -1224,7 +1224,6 @@ class ComposerStaticInit749170dad3f5e7f9ca158f5a9f04f6a2
|
|||
'OC\\BinaryFinder' => __DIR__ . '/../../..' . '/lib/private/BinaryFinder.php',
|
||||
'OC\\Blurhash\\Listener\\GenerateBlurhashMetadata' => __DIR__ . '/../../..' . '/lib/private/Blurhash/Listener/GenerateBlurhashMetadata.php',
|
||||
'OC\\Broadcast\\Events\\BroadcastEvent' => __DIR__ . '/../../..' . '/lib/private/Broadcast/Events/BroadcastEvent.php',
|
||||
'OC\\Cache\\CappedMemoryCache' => __DIR__ . '/../../..' . '/lib/private/Cache/CappedMemoryCache.php',
|
||||
'OC\\Calendar\\AvailabilityResult' => __DIR__ . '/../../..' . '/lib/private/Calendar/AvailabilityResult.php',
|
||||
'OC\\Calendar\\CalendarEventBuilder' => __DIR__ . '/../../..' . '/lib/private/Calendar/CalendarEventBuilder.php',
|
||||
'OC\\Calendar\\CalendarQuery' => __DIR__ . '/../../..' . '/lib/private/Calendar/CalendarQuery.php',
|
||||
|
|
|
|||
|
|
@ -1,109 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
namespace OC\Cache;
|
||||
|
||||
use OCP\ICache;
|
||||
|
||||
/**
|
||||
* In-memory cache with a capacity limit to keep memory usage in check
|
||||
*
|
||||
* Uses a simple FIFO expiry mechanism
|
||||
* @template T
|
||||
* @deprecated 25.0.0 use OCP\Cache\CappedMemoryCache instead
|
||||
*/
|
||||
class CappedMemoryCache implements ICache, \ArrayAccess {
|
||||
private $capacity;
|
||||
/** @var T[] */
|
||||
private $cache = [];
|
||||
|
||||
public function __construct($capacity = 512) {
|
||||
$this->capacity = $capacity;
|
||||
}
|
||||
|
||||
public function hasKey($key): bool {
|
||||
return isset($this->cache[$key]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return ?T
|
||||
*/
|
||||
public function get($key) {
|
||||
return $this->cache[$key] ?? null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $key
|
||||
* @param T $value
|
||||
* @param int $ttl
|
||||
* @return bool
|
||||
*/
|
||||
public function set($key, $value, $ttl = 0): bool {
|
||||
if (is_null($key)) {
|
||||
$this->cache[] = $value;
|
||||
} else {
|
||||
$this->cache[$key] = $value;
|
||||
}
|
||||
$this->garbageCollect();
|
||||
return true;
|
||||
}
|
||||
|
||||
public function remove($key) {
|
||||
unset($this->cache[$key]);
|
||||
return true;
|
||||
}
|
||||
|
||||
public function clear($prefix = '') {
|
||||
$this->cache = [];
|
||||
return true;
|
||||
}
|
||||
|
||||
public function offsetExists($offset): bool {
|
||||
return $this->hasKey($offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return T
|
||||
*/
|
||||
#[\ReturnTypeWillChange]
|
||||
public function &offsetGet($offset) {
|
||||
return $this->cache[$offset];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $offset
|
||||
* @param T $value
|
||||
* @return void
|
||||
*/
|
||||
public function offsetSet($offset, $value): void {
|
||||
$this->set($offset, $value);
|
||||
}
|
||||
|
||||
public function offsetUnset($offset): void {
|
||||
$this->remove($offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return T[]
|
||||
*/
|
||||
public function getData() {
|
||||
return $this->cache;
|
||||
}
|
||||
|
||||
|
||||
private function garbageCollect() {
|
||||
while (count($this->cache) > $this->capacity) {
|
||||
reset($this->cache);
|
||||
$key = key($this->cache);
|
||||
$this->remove($key);
|
||||
}
|
||||
}
|
||||
|
||||
public static function isAvailable(): bool {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
namespace Test\Cache;
|
||||
|
||||
use OCP\Cache\CappedMemoryCache;
|
||||
|
||||
/**
|
||||
* Class CappedMemoryCacheTest
|
||||
*
|
||||
* @package Test\Cache
|
||||
*/
|
||||
class CappedMemoryCacheTest extends TestCache {
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
$this->instance = new CappedMemoryCache();
|
||||
}
|
||||
|
||||
public function testSetOverCap(): void {
|
||||
$instance = new CappedMemoryCache(3);
|
||||
|
||||
$instance->set('1', 'a');
|
||||
$instance->set('2', 'b');
|
||||
$instance->set('3', 'c');
|
||||
$instance->set('4', 'd');
|
||||
$instance->set('5', 'e');
|
||||
|
||||
$this->assertFalse($instance->hasKey('1'));
|
||||
$this->assertFalse($instance->hasKey('2'));
|
||||
$this->assertTrue($instance->hasKey('3'));
|
||||
$this->assertTrue($instance->hasKey('4'));
|
||||
$this->assertTrue($instance->hasKey('5'));
|
||||
}
|
||||
|
||||
public function testClear(): void {
|
||||
$value = 'ipsum lorum';
|
||||
$this->instance->set('1_value1', $value);
|
||||
$this->instance->set('1_value2', $value);
|
||||
$this->instance->set('2_value1', $value);
|
||||
$this->instance->set('3_value1', $value);
|
||||
|
||||
$this->assertTrue($this->instance->clear());
|
||||
$this->assertFalse($this->instance->hasKey('1_value1'));
|
||||
$this->assertFalse($this->instance->hasKey('1_value2'));
|
||||
$this->assertFalse($this->instance->hasKey('2_value1'));
|
||||
$this->assertFalse($this->instance->hasKey('3_value1'));
|
||||
}
|
||||
|
||||
public function testIndirectSet(): void {
|
||||
$this->instance->set('array', []);
|
||||
|
||||
$this->instance['array'][] = 'foo';
|
||||
|
||||
$this->assertEquals(['foo'], $this->instance->get('array'));
|
||||
|
||||
$this->instance['array']['bar'] = 'qwerty';
|
||||
|
||||
$this->assertEquals(['foo', 'bar' => 'qwerty'], $this->instance->get('array'));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue