Skip to main content

_cef_waitable_event_t

Struct _cef_waitable_event_t 

Source
#[repr(C)]
pub struct _cef_waitable_event_t { pub base: cef_base_ref_counted_t, pub reset: Option<unsafe extern "C" fn(self_: *mut _cef_waitable_event_t)>, pub signal: Option<unsafe extern "C" fn(self_: *mut _cef_waitable_event_t)>, pub is_signaled: Option<unsafe extern "C" fn(self_: *mut _cef_waitable_event_t) -> c_int>, pub wait: Option<unsafe extern "C" fn(self_: *mut _cef_waitable_event_t)>, pub timed_wait: Option<unsafe extern "C" fn(self_: *mut _cef_waitable_event_t, max_ms: i64) -> c_int>, }
Expand description

WaitableEvent is a thread synchronization tool that allows one thread to wait for another thread to finish some work. This is equivalent to using a Lock+ConditionVariable to protect a simple boolean value. However, using WaitableEvent in conjunction with a Lock to wait for a more complex state change (e.g., for an item to be added to a queue) is not recommended. In that case consider using a ConditionVariable instead of a WaitableEvent. It is safe to create and/or signal a WaitableEvent from any thread. Blocking on a WaitableEvent by calling the *wait() functions is not allowed on the browser process UI or IO threads.

NOTE: This struct is allocated DLL-side.

Fields§

§base: cef_base_ref_counted_t

Base structure.

§reset: Option<unsafe extern "C" fn(self_: *mut _cef_waitable_event_t)>

Put the event in the un-signaled state.

§signal: Option<unsafe extern "C" fn(self_: *mut _cef_waitable_event_t)>

Put the event in the signaled state. This causes any thread blocked on Wait to be woken up.

§is_signaled: Option<unsafe extern "C" fn(self_: *mut _cef_waitable_event_t) -> c_int>

Returns true (1) if the event is in the signaled state, else false (0). If the event was created with |automatic_reset| set to true (1) then calling this function will also cause a reset.

§wait: Option<unsafe extern "C" fn(self_: *mut _cef_waitable_event_t)>

Wait indefinitely for the event to be signaled. This function will not return until after the call to signal() has completed. This function cannot be called on the browser process UI or IO threads.

§timed_wait: Option<unsafe extern "C" fn(self_: *mut _cef_waitable_event_t, max_ms: i64) -> c_int>

Wait up to |max_ms| milliseconds for the event to be signaled. Returns true (1) if the event was signaled. A return value of false (0) does not necessarily mean that |max_ms| was exceeded. This function will not return until after the call to signal() has completed. This function cannot be called on the browser process UI or IO threads.

Trait Implementations§

Source§

impl Clone for _cef_waitable_event_t

Source§

fn clone(&self) -> _cef_waitable_event_t

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for _cef_waitable_event_t

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Copy for _cef_waitable_event_t

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.