pub trait PlaybackReportSink: Send + Sync {
// Required method
fn send(&self, operation: PlaybackOperation);
}Expand description
Where the player’s playback reports go.
The controller’s side of reporting is “send this, don’t make me wait”: a slow
or failing sync must never stall playback, so every send is fire-and-forget.
Production wires this to PlaybackReporter (local DB, server sync, offline
queueing); tests capture the operations instead of standing up a database and
an HTTP client, which is what let the missing reports below be written as
failing tests rather than found on a device.
TRACES: UR-025 | DR-179
Required Methods§
Sourcefn send(&self, operation: PlaybackOperation)
fn send(&self, operation: PlaybackOperation)
Deliver operation. Must not block the caller.