pub struct ArrayAdmission { /* private fields */ }Expand description
What C++ driverCallback decides about an arriving array BEFORE it ever
reaches pToThreadMsgQ_ (NDPluginDriver.cpp:383-418): the compression gate
at :385, then the deltaTime > minCallbackTime gate at :407, then the
lastProcessTime_ stamp at :417 that a passing array leaves behind.
It lives on the producer’s side of the queue because that is where C runs
it, and the side is the whole observable. A compressed array on a
non-aware plugin and an array inside the MinCallbackTime window occupy no
queue slot in C, so they can never push a LATER array out of one. Deciding
the same thing after recv instead turns MinCallbackTime — whose purpose
is to relieve queue pressure — into a cause of it, and makes a compressed
array’s drop compete with the queue-full episode counter it should never
have reached.
One instance per receiving plugin, shared by every producer that feeds it,
exactly as lastProcessTime_ is one member of one plugin however many
drivers call back into it.
Implementations§
Source§impl ArrayAdmission
impl ArrayAdmission
Sourcepub fn set_compression_aware(&self, aware: bool)
pub fn set_compression_aware(&self, aware: bool)
C compressionAware_; set once from the plugin’s processor.
Sourcepub fn set_min_callback_time(&self, seconds: f64)
pub fn set_min_callback_time(&self, seconds: f64)
C setDoubleParam(NDPluginDriverMinCallbackTime, ...).