Skip to main content

ActionServerRawHandleFfi

Trait ActionServerRawHandleFfi 

Source
pub trait ActionServerRawHandleFfi: Sealed + Sized {
    // Required methods
    fn invalid() -> Self;
    fn is_invalid(&self) -> bool;
    fn handle_id(&self) -> HandleId;
    fn publish_feedback_raw(
        &self,
        executor: &mut Executor<'_>,
        goal_id: &GoalUuid,
        feedback_data: &[u8],
    ) -> Result<(), NodeError>;
    fn complete_goal_raw(
        &self,
        executor: &mut Executor<'_>,
        goal_id: &GoalUuid,
        status: GoalStatusCode,
        result_data: &[u8],
    ) -> Result<(), NodeError>;
    fn set_goal_status(
        &self,
        executor: &mut Executor<'_>,
        goal_id: &GoalUuid,
        status: GoalStatusCode,
    );
    fn active_goal_count(&self, executor: &Executor<'_>) -> usize;
    fn goal_exists(&self, executor: &Executor<'_>, goal_id: &GoalUuid) -> bool;
    fn expire_goals(&self, executor: &mut Executor<'_>) -> usize;
    fn for_each_active_goal(
        &self,
        executor: &Executor<'_>,
        f: impl FnMut(&RawActiveGoal),
    );
    fn goal_status(
        &self,
        executor: &Executor<'_>,
        goal_id: &GoalUuid,
    ) -> Option<GoalStatusCode>;
}
Expand description

ActionServerRawHandle’s methods, for nros-c, nros-cpp and the nros runtime. Sealed.

Required Methods§

Source

fn invalid() -> Self

The FFI entry point; see ActionServerRawHandle::invalid in action.rs (a const fn there; a trait method cannot be one).

Source

fn is_invalid(&self) -> bool

The FFI entry point; see ActionServerRawHandle::is_invalid in action.rs.

Source

fn handle_id(&self) -> HandleId

The FFI entry point; see ActionServerRawHandle::handle_id in action.rs.

Source

fn publish_feedback_raw( &self, executor: &mut Executor<'_>, goal_id: &GoalUuid, feedback_data: &[u8], ) -> Result<(), NodeError>

The FFI entry point; see ActionServerRawHandle::publish_feedback_raw in action.rs.

Source

fn complete_goal_raw( &self, executor: &mut Executor<'_>, goal_id: &GoalUuid, status: GoalStatusCode, result_data: &[u8], ) -> Result<(), NodeError>

The FFI entry point; see ActionServerRawHandle::complete_goal_raw in action.rs.

Source

fn set_goal_status( &self, executor: &mut Executor<'_>, goal_id: &GoalUuid, status: GoalStatusCode, )

The FFI entry point; see ActionServerRawHandle::set_goal_status in action.rs.

Source

fn active_goal_count(&self, executor: &Executor<'_>) -> usize

The FFI entry point; see ActionServerRawHandle::active_goal_count in action.rs.

Source

fn goal_exists(&self, executor: &Executor<'_>, goal_id: &GoalUuid) -> bool

The FFI entry point; see ActionServerRawHandle::goal_exists in action.rs.

Source

fn expire_goals(&self, executor: &mut Executor<'_>) -> usize

The FFI entry point; see ActionServerRawHandle::expire_goals in action.rs.

Source

fn for_each_active_goal( &self, executor: &Executor<'_>, f: impl FnMut(&RawActiveGoal), )

The FFI entry point; see ActionServerRawHandle::for_each_active_goal in action.rs.

Source

fn goal_status( &self, executor: &Executor<'_>, goal_id: &GoalUuid, ) -> Option<GoalStatusCode>

The FFI entry point; see ActionServerRawHandle::goal_status in action.rs.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§