pub(crate) struct StreamView {Show 18 fields
pub(crate) id: i64,
pub(crate) reflector: String,
pub(crate) module: String,
pub(crate) protocol: String,
pub(crate) stream_id: i32,
pub(crate) callsign: String,
pub(crate) suffix: Option<String>,
pub(crate) ur_call: Option<String>,
pub(crate) dstar_text: Option<String>,
pub(crate) dprs_lat: Option<f64>,
pub(crate) dprs_lon: Option<f64>,
pub(crate) started_at: DateTime<Utc>,
pub(crate) ended_at: Option<DateTime<Utc>>,
pub(crate) frame_count: Option<i32>,
pub(crate) upload_status: Option<String>,
pub(crate) last_upload_error: Option<String>,
pub(crate) uploaded_at: Option<DateTime<Utc>>,
pub(crate) created_at: Option<DateTime<Utc>>,
}Expand description
JSON view of one captured stream.
Intentionally excludes audio_mp3 — raw binary audio blobs have no
place in a JSON response. Consumers who need audio fetch it separately
via the upload URL once the row is marked uploaded.
Fields§
§id: i64Database row id.
reflector: StringReflector callsign.
module: StringModule letter.
protocol: StringD-STAR protocol name.
stream_id: i32D-STAR wire stream ID (non-zero u16, stored as i32).
Operators correlate this with gateway and reflector logs that record the same raw header value.
callsign: StringOperator callsign from the D-STAR header.
suffix: Option<String>Operator suffix, if any.
ur_call: Option<String>UR (destination) callsign from the D-STAR header.
Typically CQCQCQ for ragchews or a callsign/routing string for
directed traffic. Exposed so clients can filter and render the
destination without re-parsing the audio blob.
dstar_text: Option<String>Decoded slow-data text message, if any.
dprs_lat: Option<f64>DPRS latitude (decimal degrees) decoded from the stream, if present.
dprs_lon: Option<f64>DPRS longitude (decimal degrees) decoded from the stream, if present.
started_at: DateTime<Utc>Start timestamp (first voice frame).
ended_at: Option<DateTime<Utc>>End timestamp (EOT or timeout). None if still in progress.
frame_count: Option<i32>Number of voice frames captured.
upload_status: Option<String>Upload lifecycle state.
last_upload_error: Option<String>Error message from the most recent failed upload attempt, if any.
uploaded_at: Option<DateTime<Utc>>When the stream was successfully uploaded to the Rdio API, if at all.
created_at: Option<DateTime<Utc>>When this row was first inserted into the streams table.
Trait Implementations§
Source§impl Debug for StreamView
impl Debug for StreamView
Source§impl From<StreamRow> for StreamView
impl From<StreamRow> for StreamView
Auto Trait Implementations§
impl Freeze for StreamView
impl RefUnwindSafe for StreamView
impl Send for StreamView
impl Sync for StreamView
impl Unpin for StreamView
impl UnwindSafe for StreamView
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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