pub struct GXRt<X: GXExt> {
pub ext: X,
/* private fields */
}Fields§
§ext: XImplementations§
Trait Implementations§
Source§impl<X: GXExt> Rt for GXRt<X>
impl<X: GXExt> Rt for GXRt<X>
type AbortHandle = AbortHandle
fn clear(&mut self)
Source§fn call_rpc(&mut self, name: Path, args: Vec<(ArcStr, Value)>, id: BindId)
fn call_rpc(&mut self, name: Path, args: Vec<(ArcStr, Value)>, id: BindId)
This must return results from the same path in the call order. Read more
Source§fn publish_rpc(
&mut self,
name: Path,
doc: Value,
spec: Vec<ArgSpec>,
id: BindId,
) -> Result<()>
fn publish_rpc( &mut self, name: Path, doc: Value, spec: Vec<ArgSpec>, id: BindId, ) -> Result<()>
Publish an rpc at the specified path with the specified
procedure level doc and arg spec. Read more
Source§fn unpublish_rpc(&mut self, name: Path)
fn unpublish_rpc(&mut self, name: Path)
unpublish the rpc identified by the bind id.
Source§fn subscribe(&mut self, flags: UpdatesFlags, path: Path, ref_by: ExprId) -> Dval
fn subscribe(&mut self, flags: UpdatesFlags, path: Path, ref_by: ExprId) -> Dval
Subscribe to the specified netidx path Read more
Source§fn unsubscribe(&mut self, _path: Path, dv: Dval, ref_by: ExprId)
fn unsubscribe(&mut self, _path: Path, dv: Dval, ref_by: ExprId)
Called when a subscription is no longer needed
Source§fn list(&mut self, id: BindId, path: Path)
fn list(&mut self, id: BindId, path: Path)
List the netidx path, return Value::Null if the path did not
change. When the path did update you should send the output
back as a properly formatted struct with two fields, rows and
columns both containing string arrays.
Source§fn list_table(&mut self, id: BindId, path: Path)
fn list_table(&mut self, id: BindId, path: Path)
List the table at path, return Value::Null if the path did not
change
Source§fn stop_list(&mut self, id: BindId)
fn stop_list(&mut self, id: BindId)
list or table will no longer be called on this BindId, and
related resources can be cleaned up.
Source§fn publish(&mut self, path: Path, value: Value, ref_by: ExprId) -> Result<Val>
fn publish(&mut self, path: Path, value: Value, ref_by: ExprId) -> Result<Val>
Publish the specified value, returning it’s Id, which must be
used to update the value and unpublish it. If the path is
already published, return an error.
Source§fn set_timer(&mut self, id: BindId, timeout: Duration)
fn set_timer(&mut self, id: BindId, timeout: Duration)
arrange to have a Timer event delivered after timeout. When
the timer expires you are expected to deliver a Variable event
for the id, containing the current time.
Source§fn ref_var(&mut self, id: BindId, ref_by: ExprId)
fn ref_var(&mut self, id: BindId, ref_by: ExprId)
This will be called by the compiler whenever a bound variable
is referenced. The ref_by is the toplevel expression that
contains the variable reference. When a variable event
happens, you should update all the toplevel expressions that
ref that variable. Read more
fn unref_var(&mut self, id: BindId, ref_by: ExprId)
Source§fn set_var(&mut self, id: BindId, value: Value)
fn set_var(&mut self, id: BindId, value: Value)
Called by the ExecCtx when set_var is called on it. Read more
Source§fn notify_set(&mut self, id: BindId)
fn notify_set(&mut self, id: BindId)
Notify the RT that a top level variable has been set internally Read more
Source§fn spawn<F: Future<Output = (BindId, Box<dyn CustomBuiltinType>)> + Send + 'static>(
&mut self,
f: F,
) -> Self::AbortHandle
fn spawn<F: Future<Output = (BindId, Box<dyn CustomBuiltinType>)> + Send + 'static>( &mut self, f: F, ) -> Self::AbortHandle
Spawn a task Read more
Source§fn spawn_var<F: Future<Output = (BindId, Value)> + Send + 'static>(
&mut self,
f: F,
) -> Self::AbortHandle
fn spawn_var<F: Future<Output = (BindId, Value)> + Send + 'static>( &mut self, f: F, ) -> Self::AbortHandle
Spawn a task Read more
Auto Trait Implementations§
impl<X> !Freeze for GXRt<X>
impl<X> !RefUnwindSafe for GXRt<X>
impl<X> Send for GXRt<X>
impl<X> Sync for GXRt<X>
impl<X> Unpin for GXRt<X>where
X: Unpin,
impl<X> !UnwindSafe for GXRt<X>
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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