pub struct Calls;Implementations§
Source§impl Calls
impl Calls
Sourcepub fn call<Req: Serialize + ?Sized, Resp: DeserializeOwned>(
&self,
method: &str,
request: &Req,
to: Target,
) -> Result<Resp>
pub fn call<Req: Serialize + ?Sized, Resp: DeserializeOwned>( &self, method: &str, request: &Req, to: Target, ) -> Result<Resp>
Calls method with a typed request and waits for the typed
response, 10 s at most.
pub fn call_json( &self, method: &str, request: &Json, to: Target, ) -> Result<Json>
Sourcepub fn call_json_timeout(
&self,
method: &str,
request: &Json,
to: Target,
timeout_ms: u32,
) -> Result<Json>
pub fn call_json_timeout( &self, method: &str, request: &Json, to: Target, timeout_ms: u32, ) -> Result<Json>
Calls::call_json waiting at most timeout_ms (30 s at most).
Sourcepub fn send<Req: Serialize + ?Sized>(
&self,
method: &str,
request: &Req,
to: Target,
) -> Result<()>
pub fn send<Req: Serialize + ?Sized>( &self, method: &str, request: &Req, to: Target, ) -> Result<()>
Sends method and returns at once; nothing answers. For commands
whose outcome arrives another way (a value, a live message).
Examples found in repository?
examples/together_ui.rs (line 105)
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 }Sourcepub fn call_async<Req: Serialize + ?Sized>(
&self,
method: &str,
request: &Req,
to: Target,
) -> Result<CallId>
pub fn call_async<Req: Serialize + ?Sized>( &self, method: &str, request: &Req, to: Target, ) -> Result<CallId>
Starts a call and returns at once; its answer arrives as
Event::CallResult with the id
returned here, after 10 s at most.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Calls
impl RefUnwindSafe for Calls
impl Send for Calls
impl Sync for Calls
impl Unpin for Calls
impl UnsafeUnpin for Calls
impl UnwindSafe for Calls
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