From 4a37b19a8f6fe8af02e979827253d22a0ccdedb8 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Mon, 28 Jun 2021 13:34:54 +0100 Subject: [PATCH] Add comments --- roomserver/internal/input/input_fifo.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/roomserver/internal/input/input_fifo.go b/roomserver/internal/input/input_fifo.go index d6f4b6d1..694b1724 100644 --- a/roomserver/internal/input/input_fifo.go +++ b/roomserver/internal/input/input_fifo.go @@ -29,6 +29,9 @@ func (q *fifoQueue) push(frame *inputTask) { } } +// pop returns the first item of the queue, if there is one. +// The second return value will indicate if a task was returned. +// You must check this value, even after calling wait(). func (q *fifoQueue) pop() (*inputTask, bool) { q.mutex.Lock() defer q.mutex.Unlock() @@ -47,6 +50,8 @@ func (q *fifoQueue) pop() (*inputTask, bool) { return frame, true } +// wait returns a channel which can be used to detect when an +// item is waiting in the queue. func (q *fifoQueue) wait() <-chan struct{} { q.mutex.Lock() defer q.mutex.Unlock()