Line data Source code
1 : #include "source/extensions/common/async_files/async_file_manager.h" 2 : 3 : #include <memory> 4 : #include <vector> 5 : 6 : #include "source/common/common/macros.h" 7 : #include "source/extensions/common/async_files/async_file_action.h" 8 : 9 : namespace Envoy { 10 : namespace Extensions { 11 : namespace Common { 12 : namespace AsyncFiles { 13 : 14 : namespace { 15 : class ActionWhenReady : public AsyncFileActionWithResult<absl::Status> { 16 : public: 17 : explicit ActionWhenReady(std::function<void(absl::Status)> on_complete) 18 0 : : AsyncFileActionWithResult<absl::Status>(on_complete) {} 19 : 20 0 : absl::Status executeImpl() override { return absl::OkStatus(); } 21 : }; 22 : } // namespace 23 : 24 0 : CancelFunction AsyncFileManager::whenReady(std::function<void(absl::Status)> on_complete) { 25 0 : return enqueue(std::make_shared<ActionWhenReady>(std::move(on_complete))); 26 0 : } 27 : 28 : } // namespace AsyncFiles 29 : } // namespace Common 30 : } // namespace Extensions 31 : } // namespace Envoy