Reader and Writer Clients

The TimeSeries API is stateless and passive from a reader client's point of view. It allows any number of callers to eavesdrop on the (I,Q) data as they arrive, but there are no control actions passed back in the other direction.

The reason that an event driven model is not provided is that the API is fundamentally a single-writer/multiple-reader interface. There is no private state maintained for each reader client that hooks up to it. As such, the notion of 'notify me when new data are available' would not be well-defined, because 'new' would have to be a per-client notion, that is, new since the last data that each particular client checked.

The API is most valuable in providing random access to the recent buffered (I,Q) data and can buffer a couple of seconds of data within the TimeSeries API. This means that programs using the API only need to check the data every 50 to 100 msec without the risk of losing any data. This has only a minimal load on the CPU.