|
Last change
on this file since 448 was 402, checked in by alloc, 3 years ago |
- Major refactoring
- Using Utf8Json for (de)serialization
- Moving APIs to REST
- Removing dependencies from WebServer and MapRenderer to ServerFixes
|
|
File size:
687 bytes
|
| Line | |
|---|
| 1 | using System.Collections.Generic;
|
|---|
| 2 |
|
|---|
| 3 | namespace Webserver.FileCache {
|
|---|
| 4 | public abstract class AbstractCache {
|
|---|
| 5 | public abstract byte[] GetFileContent (string _filename);
|
|---|
| 6 | public abstract (int filesDropped, int bytesDropped) Invalidate ();
|
|---|
| 7 |
|
|---|
| 8 | protected AbstractCache () {
|
|---|
| 9 | caches.Add (this);
|
|---|
| 10 | }
|
|---|
| 11 |
|
|---|
| 12 | private static readonly List<AbstractCache> caches = new List<AbstractCache> ();
|
|---|
| 13 | public static (int, int) InvalidateAllCaches () {
|
|---|
| 14 | int filesDropped = 0;
|
|---|
| 15 | int bytesDropped = 0;
|
|---|
| 16 |
|
|---|
| 17 | foreach (AbstractCache cache in caches) {
|
|---|
| 18 | (int files, int bytes) = cache.Invalidate ();
|
|---|
| 19 | filesDropped += files;
|
|---|
| 20 | bytesDropped += bytes;
|
|---|
| 21 | }
|
|---|
| 22 |
|
|---|
| 23 | return (filesDropped, bytesDropped);
|
|---|
| 24 | }
|
|---|
| 25 | }
|
|---|
| 26 | }
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.