From 733955de0ae90de26fe98854a1debd6b80ccc27a Mon Sep 17 00:00:00 2001 From: Nicolas James Date: Wed, 11 Mar 2026 10:32:26 +1100 Subject: Add LOW_LATENCY_LAYER_SLEEP_AFTER_PRESENT env as an explicit AL1 toggle --- src/context.hh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/context.hh') diff --git a/src/context.hh b/src/context.hh index 5972740..91fbf91 100644 --- a/src/context.hh +++ b/src/context.hh @@ -1,13 +1,20 @@ #ifndef CONTEXT_HH_ #define CONTEXT_HH_ -// The purpose of this class is to provide a base class for Context classes. - namespace low_latency { +// A context class doesn't do much by itself. We just use it to provide a +// virtual destructor so we can store a bunch of shared_ptrs in the same +// container and rely on RTTI in the layer context. It also deletes the copy and +// move constructors for derived classes implicitly, and that's pretty much it. +// +// We _could_ do something weird and complicated where we define virtual pure +// hashing and equality functions so we can store them in an unordered_set, but +// it's just unnecessary complexity and doesn't allow us to perform 'do you exist' +// lookups without creating an object. class Context { - -public: + + public: Context(); Context(const Context& context) = delete; Context(Context&& context) = delete; -- cgit v1.2.3