Skip to main content

Command

Struct Command 

Source
pub struct Command<M: Model>(/* private fields */);
Expand description

A command of a single device, which is what the server runs when a client asks for it: one of its interface, around the definition it was defined with, or one of the three every device has whatever its class: the State, the Status and the Init.

The definition is shared with the class when the class defines it, and owned by the device alone when the device added it for itself, see Dev::add_command.

Implementations§

Source§

impl<M: Model> Command<M>

Source

pub fn name(&self) -> &str

The name of that command, as its definition gave it.

Source

pub fn info(&self) -> CommandInfo

What a client is told of that command: what its definition advertises, a side of it no execution function derived a kind for being void. The three every device has are described by the server itself, the State and the Status as their attribute is.

Source

pub fn push_history( &self, result: Result<Value>, valid_for: Option<Duration>, ) -> Result<()>

Record that result in the history of that command, the oldest one being dropped when the history is full, see Self::set_history_depth. A run that failed is recorded as well, as the error it failed with.

The latest result is what a request from the cache is answered with, for that long when given a validity, after which the command is executed again, or a request from the cache alone fails as outdated; without one, it answers until the next is recorded.

Only a command taking no argument is recorded, as with the polling of cppTango: the result of one taking an argument depends on it. The State and the Status are recorded in the history of their attribute, see Attr::push_history, and the Init is never recorded.

Source

pub fn history(&self, max: usize) -> Vec<RecordedResult<Value>> ⓘ

The latest results recorded in the history of that command, oldest first and at most max of them, see Self::push_history.

Source

pub fn clear_history(&self)

Forget every result recorded in the history of that command, so that a request from the cache finds none.

Source

pub fn history_depth(&self) -> usize

How many results the history of that command keeps at most, none for the Init.

Source

pub fn set_history_depth(&self, depth: usize)

Set how many results the history of that command keeps at most, the oldest ones beyond that being dropped now. A depth of zero records nothing.

Auto Trait Implementations§

§

impl<M> !Freeze for Command<M>

§

impl<M> !RefUnwindSafe for Command<M>

§

impl<M> !UnwindSafe for Command<M>

§

impl<M> Forget for Command<M>

§

impl<M> Send for Command<M>
where CommandRole<M>: Send,

§

impl<M> Sync for Command<M>
where CommandRole<M>: Sync,

§

impl<M> Unpin for Command<M>
where CommandRole<M>: Unpin,

§

impl<M> UnsafeUnpin for Command<M>
where CommandRole<M>: UnsafeUnpin,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Model for T
where T: Send + Sync + 'static,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more