pub enum DeferredNotify {
Put(DeferredNotifyPut),
Process {
completion: Sender<()>,
},
}Expand description
One entry of C precord->ppnr->restartList — a whole processNotify
waiting for the record, not just a put.
C queues the request (ellSafeAdd(&restartList, &ppn->restartNode),
dbNotify.c:217) and restartCheck re-enters processNotifyCommon, which
dispatches on ppn->requestType. A queue that could hold only a
field-and-value put left the other request type — C processGetRequest,
the port’s crate::server::database::PvDatabase::process_record_with_notify
— with nowhere to wait, so its entry refused instead of queueing.
Variants§
Put(DeferredNotifyPut)
C putProcessRequest / putProcessGetRequest: write the field, then
process; the callback fires on the replayed cycle.
Process
C processGetRequest: process the record, write nothing.
Auto Trait Implementations§
impl !RefUnwindSafe for DeferredNotify
impl !UnwindSafe for DeferredNotify
impl Freeze for DeferredNotify
impl Send for DeferredNotify
impl Sync for DeferredNotify
impl Unpin for DeferredNotify
impl UnsafeUnpin for DeferredNotify
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