From 4feeb518fc6f64491a82965fc531c785a9ef4fbb Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Sat, 11 May 2024 04:42:06 +0400 Subject: [PATCH] Added methods for a ListenerCounter struct to access a current peak and overall numbers of listeners. --- internal/radio/listener_counter.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/internal/radio/listener_counter.go b/internal/radio/listener_counter.go index cc10bc6..298c007 100644 --- a/internal/radio/listener_counter.go +++ b/internal/radio/listener_counter.go @@ -26,13 +26,27 @@ func (l *ListenerCounter) Current() int64 { return l.current } -// Current returns a number of peak listeners. +// Peak returns a peak number of listeners. func (l *ListenerCounter) Peak() int64 { l.mutex.RLock() defer l.mutex.RUnlock() return l.peak } +// CurrentPeak returns a peak number of listeners for a currently playing song. +func (l *ListenerCounter) CurrentPeak() int64 { + l.mutex.RLock() + defer l.mutex.RUnlock() + return l.cur_peak +} + +// Overall returns an overall number of listeners for a currently playing song. +func (l *ListenerCounter) Overall() int64 { + l.mutex.RLock() + defer l.mutex.RUnlock() + return l.overall +} + // Inc increments by 1 a current number of listeners and updates a peak number. func (l *ListenerCounter) Inc() int64 { l.mutex.Lock()