pub struct ModelStreamLock {
pub active: AtomicBool,
pub waker_queue: Mutex<VecDeque<Waker>>,
}Expand description
Per-model stream lock state. Each model has its own lock to allow parallel inference across different models.
Fields§
§active: AtomicBoolWhether this model currently has an active stream
waker_queue: Mutex<VecDeque<Waker>>Waker queue for requests waiting on this model
Implementations§
Source§impl ModelStreamLock
impl ModelStreamLock
Sourcepub fn try_acquire(&self) -> bool
pub fn try_acquire(&self) -> bool
Try to acquire the lock. Returns true if successful.
Sourcepub fn register_waker(&self, waker: &Waker)
pub fn register_waker(&self, waker: &Waker)
Register a waker to be notified when the lock is released.
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for ModelStreamLock
impl RefUnwindSafe for ModelStreamLock
impl Send for ModelStreamLock
impl Sync for ModelStreamLock
impl Unpin for ModelStreamLock
impl UnwindSafe for ModelStreamLock
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().