Documentation ¶
Index ¶
- Constants
- Variables
- type Bounds
- func (b Bounds) Contains(t values.Time) bool
- func (b Bounds) Equal(o Bounds) bool
- func (b Bounds) Intersect(o Bounds) Bounds
- func (b Bounds) IsEmpty() bool
- func (b Bounds) IsZero() bool
- func (b Bounds) Length() values.Duration
- func (b Bounds) Overlaps(o Bounds) bool
- func (b Bounds) Start() values.Time
- func (b Bounds) Stop() values.Time
- func (b Bounds) String() string
- func (b Bounds) Union(o Bounds) Bounds
- type Location
- type Window
- func (w Window) Every() values.Duration
- func (w Window) GetLatestBounds(t values.Time) Bounds
- func (w Window) GetOverlappingBounds(start, stop values.Time) []Bounds
- func (w Window) IsZero() bool
- func (w Window) NextBounds(b Bounds) Bounds
- func (w Window) Period() values.Duration
- func (w Window) PrevBounds(b Bounds) Bounds
Constants ¶
const ( MaxTime = math.MaxInt64 MinTime = math.MinInt64 )
Variables ¶
var UTC = Location{}
UTC is the UTC zone with no additional offset.
Functions ¶
This section is empty.
Types ¶
type Bounds ¶
type Bounds struct {
// contains filtered or unexported fields
}
func (Bounds) Intersect ¶
Intersect returns the intersection of two bounds. It returns empty bounds if one of the input bounds are empty. TODO: there are several places that implement bounds and related utilities.
consider a central place for them?
type Location ¶
type Location struct { // Offset declares an additional offset that will be applied. Offset values.Duration // contains filtered or unexported fields }
Location is a Location that can be passed to Window to make the window timezone-aware.
func LoadLocation ¶
type Window ¶
type Window struct {
// contains filtered or unexported fields
}
TODO(nathanielc): Make the epoch a parameter to the window See https://github.com/InfluxCommunity/flux/issues/2093
Window is a description of an infinite set of boundaries in time.
Note the properties of this struct should remain private. Furthermore they should not be exposed via public getter methods. There should never be any need to access a window's properties in order to perform window calculations. The public interface should be sufficient.
func NewWindow ¶
NewWindow creates a window which can be used to determine the boundaries for a given point. Window boundaries start at the epoch plus the offset. Each subsequent window starts at a multiple of the every duration. Each window's length is the start boundary plus the period. Every must not be a mix of months and nanoseconds in order to preserve constant time bounds lookup.
func NewWindowInLocation ¶
NewWindowInLocation creates a window the same as NewWindow within the given location. Windows that are location-aware will take into account zone offset changes such as daylight savings time and other changes that occur to the location's clock time.
func (Window) GetLatestBounds ¶
GetLatestBounds returns the bounds for the latest window bounds that contains the given time t. For underlapping windows that do not contain time t, the window directly before time t will be returned.
func (Window) GetOverlappingBounds ¶
GetOverlappingBounds returns a slice of bounds that overlaps the input bounds. The returned set of bounds are ordered by decreasing time.
func (Window) NextBounds ¶
NextBounds returns the next boundary in sequence from the given boundary.
func (Window) PrevBounds ¶
PrevBounds returns the previous boundary in sequence from the given boundary.