Track recording commands, events and storage runtime

track_runtime.h Explicitly define TrackCommandKind, TrackEventKind, RecorderStatus, TrackPointBuffer, TrackStateMachine, TrackStorageWorker and file/bus ports.

Commands

StartNewTrack, StopTrack, AppendPoint, Flush, ListTracks. There is currently no Pause or Resume.

Resource rules

Point buffer has a fixed capacity; it flushes at 8 o'clock by default; the worker has only one pending command at the same time; StopTrack and Flush are critical commands.

Drill down: TrackCommand / TrackEvent / RecorderStatus