pub struct Claims;Implementations§
Source§impl Claims
impl Claims
Sourcepub fn claim(&self, key: &str, ttl_ms: u32) -> Result<bool>
pub fn claim(&self, key: &str, ttl_ms: u32) -> Result<bool>
Claims key for ttl_ms: true when this plugin session holds it
(renewed if it already did); another viewer, even on this machine,
or another daemon of a fleet plugin gets false; the claim expires
after ttl_ms unless renewed. Both worlds.
pub fn release(&self, key: &str) -> Result<()>
Sourcepub fn once(
&self,
key: &str,
ttl_ms: u32,
effect: impl FnOnce(),
) -> Result<bool>
pub fn once( &self, key: &str, ttl_ms: u32, effect: impl FnOnce(), ) -> Result<bool>
Runs effect only in the instance that wins the claim on key.
Returns whether it ran.
Examples found in repository?
examples/together_ui.rs (lines 104-106)
83 fn event(&mut self, event: Event, cx: &mut Context) {
84 match event {
85 Event::Plugin { name, .. } if name == "together.changed" => {
86 self.reload(cx);
87 self.paint();
88 // A commit from an event is sampled on the next frame;
89 // ask for one.
90 cx.request_frame();
91 }
92 Event::Resize { .. } => {
93 self.paint();
94 cx.request_frame();
95 }
96 Event::Pointer(pointer) if pointer.kind == PointerKind::Down => {
97 // Side-effect free unless this viewer is the one the user
98 // is driving, and then exactly once across viewers.
99 if !view::is_driving() {
100 return;
101 }
102 // `send` returns at once: the companion's answer arrives as
103 // the value it writes, not here.
104 let _ = claims().once("together.rebuild", 5_000, || {
105 let _ = cx.calls().send("rebuild", &(), Target::Singleton);
106 });
107 }
108 _ => {}
109 }
110 }Trait Implementations§
Auto Trait Implementations§
impl Freeze for Claims
impl RefUnwindSafe for Claims
impl Send for Claims
impl Sync for Claims
impl Unpin for Claims
impl UnsafeUnpin for Claims
impl UnwindSafe for Claims
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