Continuum C++ API
Unified runtime for token + tensor execution
Loading...
Searching...
No Matches
prefetch.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <chrono>
4#include <cstdint>
5#include <mutex>
6#include <optional>
7#include <string>
8#include <unordered_map>
9#include <vector>
10
11namespace continuum::runtime {
12
14 std::string key;
15 std::vector<std::uint8_t> output;
16 bool ready = false;
17 bool valid = false;
18 std::chrono::steady_clock::time_point created_at;
19 std::int64_t compute_budget_ms = 0;
20};
21
28 public:
29 explicit FutureCache(std::size_t max_entries = 256,
30 std::chrono::milliseconds ttl = std::chrono::milliseconds(30000));
31
32 std::optional<std::vector<std::uint8_t>> get(const std::string& key) const;
33 void put(const std::string& key, std::vector<std::uint8_t> output);
34 bool has(const std::string& key) const;
35 void invalidate(const std::string& key);
36 void clear();
37 std::size_t size() const;
39 std::size_t max_entries() const { return max_entries_; }
41 std::size_t estimated_bytes() const;
42
43 private:
44 void evict_expired();
45
46 mutable std::mutex mu_;
47 std::unordered_map<std::string, PrefetchEntry> entries_;
48 std::size_t max_entries_;
49 std::chrono::milliseconds ttl_;
50};
51
52} // namespace continuum::runtime
Definition prefetch.hpp:27
std::optional< std::vector< std::uint8_t > > get(const std::string &key) const
bool has(const std::string &key) const
std::size_t estimated_bytes() const
Approximate resident bytes: keys, outputs, and per-entry overhead.
std::size_t max_entries() const
Capacity in entries passed at construction.
Definition prefetch.hpp:39
void invalidate(const std::string &key)
FutureCache(std::size_t max_entries=256, std::chrono::milliseconds ttl=std::chrono::milliseconds(30000))
void put(const std::string &key, std::vector< std::uint8_t > output)
Definition checkpoint.hpp:12
Definition prefetch.hpp:13
std::int64_t compute_budget_ms
Definition prefetch.hpp:19
std::vector< std::uint8_t > output
Definition prefetch.hpp:15
std::chrono::steady_clock::time_point created_at
Definition prefetch.hpp:18
bool ready
Definition prefetch.hpp:16
bool valid
Definition prefetch.hpp:17
std::string key
Definition prefetch.hpp:14