/* * Copyright (c) 2025, Tim Flynn * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include #include #include namespace HTTP { class CacheRequest : public Weakable { public: virtual ~CacheRequest() = default; virtual void notify_request_unblocked(Badge) = 0; protected: enum class CacheStatus : u8 { Unknown, NotCached, WrittenToCache, ReadFromCache, }; Optional m_cache_entry_reader; Optional m_cache_entry_writer; CacheStatus m_cache_status { CacheStatus::Unknown }; }; }