[−][src]Struct allo_isolate::Isolate
Simple wrapper around the Dart Isolate Port, nothing else.
Implementations
impl Isolate
[src]
pub const fn new(port: i64) -> Self
[src]
Create a new Isolate
with a port obtained from Dart VM side.
Example
this a non realistic example lol :D
let isolate = Isolate::new(42);
pub fn post(&self, msg: impl IntoDart) -> bool
[src]
Post an object to the Isolate
over the port
Object must implement IntoDart
.
returns true
if the message posted successfully, otherwise false
Safety
This assumes that you called store_dart_post_cobject
and we have
access to the Dart_PostCObject
function pointer also, we do check
if it is not null.
Example
let isolate = Isolate::new(42); isolate.post("Hello Dart !");
pub async fn task<T, R>(self, t: T) -> bool where
T: Future<Output = R> + Send + 'static,
R: Send + IntoDart + 'static,
[src]
T: Future<Output = R> + Send + 'static,
R: Send + IntoDart + 'static,
Consumes Self
, Runs the task, await for the result and then post it
to the Isolate
over the port
Result must implement IntoDart
.
returns true
if the message posted successfully, otherwise false
Safety
This assumes that you called store_dart_post_cobject
and we have
access to the Dart_PostCObject
function pointer also, we do check
if it is not null.
Example
use async_std::task; let isolate = Isolate::new(42); task::spawn(isolate.task(async { 1 + 2 }));
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Isolate
impl Send for Isolate
impl Sync for Isolate
impl Unpin for Isolate
impl UnwindSafe for Isolate
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,