Documentation ¶
Overview ¶
Package mtime contains a millisecond representation of time. The purpose of this representation is alignment with the Beam specification, where we need extreme values outside the range of time.Time for windowing.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Time ¶
type Time int64
Time is the number of milli-seconds since the Unix epoch. The valid range of times is bounded by what can be represented a _micro_-seconds-since-epoch.
const ( // MinTimestamp is the minimum value for any Beam timestamp. Often referred to // as "-infinity". This value and MaxTimestamp are chosen so that their // microseconds-since-epoch can be safely represented with an int64 and boundary // values can be represented correctly with millisecond precision. MinTimestamp Time = math.MinInt64 / 1000 // MaxTimestamp is the maximum value for any Beam timestamp. Often referred to // as "+infinity". MaxTimestamp Time = math.MaxInt64 / 1000 // EndOfGlobalWindowTime is the timestamp at the end of the global window. It // is a day before the max timestamp. // TODO Use GLOBAL_WINDOW_MAX_TIMESTAMP_MILLIS from the Runner API constants EndOfGlobalWindowTime = MaxTimestamp - 24*60*60*1000 // ZeroTimestamp is the default zero value time. It corresponds to the unix epoch. ZeroTimestamp Time = 0 )
func FromDuration ¶
FromDuration returns a timestamp from a time.Duration-since-epoch value.
func FromMilliseconds ¶
FromMilliseconds returns a timestamp from a raw milliseconds-since-epoch value.
func FromTime ¶
FromTime returns a milli-second precision timestamp from a time.Time.
func Normalize ¶
Normalize ensures a Time is within [MinTimestamp,MaxTimestamp].
func (Time) Milliseconds ¶
Milliseconds returns the number of milli-seconds since the Unix epoch.