Skip to main content

## PlaybackReportSink

# Trait PlaybackReportSink

Source

    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§

Source

#### fn send(&self, operation: PlaybackOperation)

Deliver `operation`. Must not block the caller.

## Implementors§

Source §

### impl PlaybackReportSink for ReporterSink