Skip to main content

robonix_executor/
exec_wire.rs

1// SPDX-License-Identifier: MulanPSL-2.0
2// Author: wheatfox <wheatfox17@icloud.com>
3//
4// Flat `CapabilityCallEvent` (`lib/executor/msg/CapabilityCallEvent.msg`).
5
6use crate::pb::executor::{BatchComplete, CapabilityCallEvent, CapabilityCallStarted};
7use crate::pb::pilot::CapabilityCallResult;
8
9pub const EVT_STARTED: u32 = 0;
10pub const EVT_RESULT: u32 = 1;
11pub const EVT_COMPLETE: u32 = 2;
12
13pub fn started(call_id: String, provider_id: String, contract_id: String) -> CapabilityCallEvent {
14    CapabilityCallEvent {
15        event_kind: EVT_STARTED,
16        started: Some(CapabilityCallStarted {
17            call_id,
18            provider_id,
19            contract_id,
20        }),
21        ..Default::default()
22    }
23}
24
25pub fn result(r: CapabilityCallResult) -> CapabilityCallEvent {
26    CapabilityCallEvent {
27        event_kind: EVT_RESULT,
28        result: Some(r),
29        ..Default::default()
30    }
31}
32
33pub fn complete(plan_id: String, any_failed: bool) -> CapabilityCallEvent {
34    CapabilityCallEvent {
35        event_kind: EVT_COMPLETE,
36        complete: Some(BatchComplete {
37            plan_id,
38            any_failed,
39        }),
40        ..Default::default()
41    }
42}