blob: e3046c9669636240be7bfe736e58e7cd879484e1 [file] [log] [blame]
package aos.common.actions;
interface StatusInterface {
// 0 if the action isn't running or the value from goal.run.
uint32_t running;
};
interface GoalInterface {
// 0 to stop or an arbitrary value to put in status.running.
uint32_t run;
};
message Status {
// The run value of the instance we're currently running or 0.
uint32_t running;
// A run value we were previously running or 0.
uint32_t last_running;
// If false the action failed to complete and may be in a bad state,
// this is a critical problem not a cancellation.
bool success;
};
message Goal {
// The unique value to put into status.running while running this instance or
// 0 to cancel.
uint32_t run;
// Default parameter. The more useful thing to do would be to define your own
// goal type to change param to a useful structure.
double params;
};
interface ActionQueueGroup {
queue Status status;
queue Goal goal;
};