pub struct GroupSource { /* private fields */ }Expand description
A Source that serves group PVs composed from multiple member PVs.
Group PV names are resolved by fetching each member PV from the
underlying SourceRegistry and composing them into an
NtPayload::Generic. Non-group names are not claimed.
Implementations§
Source§impl GroupSource
impl GroupSource
Sourcepub fn new(
sources: Arc<SourceRegistry>,
groups: HashMap<String, GroupPvDef>,
) -> Self
pub fn new( sources: Arc<SourceRegistry>, groups: HashMap<String, GroupPvDef>, ) -> Self
Create a new group source backed by sources with the given group definitions.
Trait Implementations§
Source§impl Source for GroupSource
impl Source for GroupSource
Source§fn claim(
&self,
name: &str,
) -> Pin<Box<dyn Future<Output = Option<PvInfo>> + Send + '_>>
fn claim( &self, name: &str, ) -> Pin<Box<dyn Future<Output = Option<PvInfo>> + Send + '_>>
Check whether this source owns
name and, if so, return its metadata. Read moreSource§fn get(
&self,
name: &str,
) -> Pin<Box<dyn Future<Output = Option<NtPayload>> + Send + '_>>
fn get( &self, name: &str, ) -> Pin<Box<dyn Future<Output = Option<NtPayload>> + Send + '_>>
Read the current value of a PV. Read more
Source§fn put(
&self,
name: &str,
value: &DecodedValue,
) -> Pin<Box<dyn Future<Output = Result<Vec<(String, NtPayload)>, String>> + Send + '_>>
fn put( &self, name: &str, value: &DecodedValue, ) -> Pin<Box<dyn Future<Output = Result<Vec<(String, NtPayload)>, String>> + Send + '_>>
Apply a PUT value to a PV. Read more
Source§fn subscribe(
&self,
name: &str,
) -> Pin<Box<dyn Future<Output = Option<Receiver<NtPayload>>> + Send + '_>>
fn subscribe( &self, name: &str, ) -> Pin<Box<dyn Future<Output = Option<Receiver<NtPayload>>> + Send + '_>>
Subscribe to value-change notifications on a PV. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for GroupSource
impl !UnwindSafe for GroupSource
impl Freeze for GroupSource
impl Send for GroupSource
impl Sync for GroupSource
impl Unpin for GroupSource
impl UnsafeUnpin for GroupSource
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more