blob: 44092bbe6f8b77093b761f85113ad0a3439b4be6 [file] [log] [blame]
// Copyright 2019 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.
library fuchsia.test.workscheduler;
using fuchsia.sys2;
/// A protocol used in testing by a component instance to report that work has been dispatched.
///
/// For example:
///
/// - `integration-test` hosts `work-scheduler`, starts `client`.
/// - `client --- WorkScheduler.ScheduleWork(work_id, ...) --> work-scheduler`
/// - `client <-- Worker.DoWork(work_id) --------------------> work-scheduler`
/// - `client --- WorkSchedulerDispatchReporter(work_id) ------> integration-test`
///
/// This protocol enables `integration-test` to confirm that the `DoWork` invocation reached
/// `client`.
[Discoverable]
protocol WorkSchedulerDispatchReporter {
/// Report that `WorkScheduler.DoWork(work_id)` was successfully invoked on a component.
OnDoWorkCalled(string:fuchsia.sys2.MAX_WORK_ID_LENGTH work_id) -> ();
};