Stream transducer that reorders timestamped values over a specified duration.
Stream transducer that reorders timestamped values over a specified duration.
Values are kept in an internal buffer. Upon receiving a new value, any buffered
values that are timestamped with value.time - over
are emitted. Other values,
and the new value, are kept in the buffer.
This is useful for ordering mostly ordered streams, where values may be out of order with close neighbors but are strictly less than values that come much later in the stream.
An example of such a structure is the result of merging streams of values generated
with TimeStamped.now
.
Caution: this transducer should only be used on streams that are mostly ordered. In the worst case, if the source is in reverse order, all values in the source will be accumulated in to the buffer until the source halts, and then the{ values will be emitted in order.
Stream transducer that filters the specified timestamped values to ensure the output time stamps are always increasing in time.
Stream transducer that filters the specified timestamped values to ensure the output time stamps are always increasing in time. Other values are dropped.
Stream transducer that filters the specified timestamped values to ensure the output time stamps are always increasing in time.
Stream transducer that filters the specified timestamped values to ensure the output time stamps are always increasing in time. The increasing values are emitted as output of the writer, while out of order values are written to the writer side of the writer.
Orders values by timestamp, then by value.
Stream transducer that converts a stream of TimeStamped[A]
in to a stream of
TimeStamped[B]
where B
is an accumulated feature of A
over a second.
Stream transducer that converts a stream of TimeStamped[A]
in to a stream of
TimeStamped[B]
where B
is an accumulated feature of A
over a second.
For example, the emitted bits per second of a Stream[Task, ByteVector]
can be calculated
using perSecondRate(_.size * 8)
, which yields a stream of the emitted bits per second.
function which extracts a feature of A
Combinator that converts a Pipe[Pure, A, B]
in to a Pipe[Pure, TimeStamped[A], TimeStamped[B]]
such that
timestamps are preserved on elements that flow through the stream.
Stream transducer that converts a stream of TimeStamped[A]
in to a stream of
TimeStamped[B]
where B
is an accumulated feature of A
over a specified time period.
Stream transducer that converts a stream of TimeStamped[A]
in to a stream of
TimeStamped[B]
where B
is an accumulated feature of A
over a specified time period.
For example, the emitted bits per second of a Stream[Task, ByteVector]
can be calculated
using rate(1.0)(_.size * 8)
, which yields a stream of the emitted bits per second.
time period over which to calculate
function which extracts a feature of A
identity for combine
closed function on B
which forms a monoid with zero
Stream transducer that reorders a stream of timestamped values that are mostly ordered, using a time based buffer of the specified duration.
Stream transducer that reorders a stream of timestamped values that are mostly ordered, using a time based buffer of the specified duration. See attemptReorderLocally for details.
The resulting stream is guaranteed to always emit values in time increasing order. Values may be dropped from the source stream if they were not successfully reordered.
Stream transducer that reorders a stream of timestamped values that are mostly ordered, using a time based buffer of the specified duration.
Stream transducer that reorders a stream of timestamped values that are mostly ordered, using a time based buffer of the specified duration. See attemptReorderLocally for details.
The resulting stream is guaranteed to always emit output values in time increasing order. Any values that could not be reordered due to insufficient buffer space are emitted on the writer (left) side.
Returns a stream that is the throttled version of the source stream.
Returns a stream that is the throttled version of the source stream.
Given two adjacent items from the source stream, a
and b
, where a
is emitted
first and b
is emitted second, their time delta is b.time - a.time
.
This function creates a stream that emits values at wall clock times such that the time delta between any two adjacent values is proportional to their time delta in the source stream.
The throttlingFactor
is a scaling factor that determines how much source time a unit
of wall clock time is worth. A value of 1.0 causes the output stream to emit
values spaced in wall clock time equal to their time deltas. A value of 2.0
emits values at twice the speed of wall clock time.
This is particularly useful when timestamped data can be read in bulk (e.g., from a capture file) but should be "played back" at real time speeds.
Orders values by timestamp -- values with the same timestamp are considered equal.
Stream transducer that converts a stream of TimeStamped[A]
in to a stream of
TimeStamped[B Either A]
where B
is an accumulated feature of A
over a second.
Stream transducer that converts a stream of TimeStamped[A]
in to a stream of
TimeStamped[B Either A]
where B
is an accumulated feature of A
over a second.
Every incoming A
is echoed to the output.
For example, the emitted bits per second of a Stream[Task, ByteVector]
can be calculated
using perSecondRate(_.size * 8)
, which yields a stream of the emitted bits per second.
function which extracts a feature of A
identity for combine
closed function on B
which forms a monoid with zero
Stream transducer that converts a stream of TimeStamped[A]
in to a stream of
TimeStamped[Either[B, A]]
where B
is an accumulated feature of A
over a specified time period.
Stream transducer that converts a stream of TimeStamped[A]
in to a stream of
TimeStamped[Either[B, A]]
where B
is an accumulated feature of A
over a specified time period.
Every incoming A
is echoed to the output.
For example, the emitted bits per second of a Stream[Task, ByteVector]
can be calculated
using rate(1.0)(_.size * 8)
, which yields a stream of the emitted bits per second.
time period over which to calculate
function which extracts a feature of A
identity for combine
closed function on B
which forms a monoid with zero