blob: 35c578ff8fa0dc3c125b63a999f83c11add17c73 [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SRC_DEVELOPER_FORENSICS_UTILS_FIT_TIMEOUT_H_
#define SRC_DEVELOPER_FORENSICS_UTILS_FIT_TIMEOUT_H_
#include <lib/fit/function.h>
#include <lib/zx/time.h>
#include <initializer_list>
#include <optional>
namespace forensics {
namespace fit {
// Couples a timeout and an action to optionally take when the timeout occurs.
struct Timeout {
Timeout() = default;
explicit Timeout(zx::duration value) : value(value) {}
Timeout(zx::duration value, ::fit::closure action) : value(value), action(std::move(action)) {}
zx::duration value;
std::optional<::fit::closure> action;
};
} // namespace fit
} // namespace forensics
#endif // SRC_DEVELOPER_FORENSICS_UTILS_FIT_TIMEOUT_H_