From b461343171726d99df20bfc4b4741f0fad0c95e0 Mon Sep 17 00:00:00 2001 From: Mathias Hall-Andersen Date: Fri, 9 Feb 2018 18:56:00 +0100 Subject: Started migration to sub-packages --- internal/events/event.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 internal/events/event.go (limited to 'internal/events/event.go') diff --git a/internal/events/event.go b/internal/events/event.go new file mode 100644 index 0000000..4412bbb --- /dev/null +++ b/internal/events/event.go @@ -0,0 +1,36 @@ +package events + +import ( + "sync" +) + +type Event interface { + Contains(int) bool + Processed() + WaitForProcessed() +} + +type EventStruct struct { + code int + lock sync.Mutex +} + +func (event EventStruct) Contains(code int) bool { + return event.code&code != 0 +} + +func (event *EventStruct) WaitForProcessed() { + event.lock.Lock() +} + +func (event *EventStruct) Processed() { + event.lock.Unlock() +} + +func NewEvent(code int) Event { + event := &EventStruct{ + code: code, + } + event.lock.Lock() + return event +} -- cgit v1.2.3