// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once #include "idestructorcallback.h" #include "time.h" #include namespace vespalib { /** * Interface to register for receiving regular invoke calls. * The registration will last as long as the returned object is kept alive. **/ class InvokeService { public: using InvokeFunc = std::function; virtual ~InvokeService() = default; virtual std::unique_ptr registerInvoke(InvokeFunc func) = 0; }; }