diff --git a/frames/frames.go b/frames/frames.go index 009910c..726926f 100644 --- a/frames/frames.go +++ b/frames/frames.go @@ -1,8 +1,11 @@ package frames +import "time" + type FrameType struct { GetFrame func(int) string GetLength func() int + GetSleep func() time.Duration } // Create a function that returns the next frame, based on length @@ -19,11 +22,19 @@ func DefaultGetLength(frames []string) func() int { } } +// Sleep time between frames +func DefaultGetSleep() func() time.Duration { + return func() time.Duration { + return time.Millisecond * 70 + } +} + // Given frames, create a FrameType with those frames func DefaultFrameType(frames []string) FrameType { return FrameType{ GetFrame: DefaultGetFrame(frames), GetLength: DefaultGetLength(frames), + GetSleep: DefaultGetSleep(), } } diff --git a/frames/time.go b/frames/time.go index e6b0568..25f66d1 100644 --- a/frames/time.go +++ b/frames/time.go @@ -5,6 +5,7 @@ import "time" var Clock = FrameType{ GetFrame: getClockFrame, GetLength: getClockLength, + GetSleep: DefaultGetSleep(), } func getClockFrame(i int) string { diff --git a/main.go b/main.go index 6da12fb..78e9e3e 100644 --- a/main.go +++ b/main.go @@ -87,7 +87,7 @@ func handler(w http.ResponseWriter, r *http.Request) { i = 0 } // Artificially wait between reponses. - time.Sleep(time.Millisecond * 70) + time.Sleep(frames.GetSleep()) // Clear screen clearScreen := "\033[2J\033[H"