From 401bb25f475f365489cede3a3a43ab25320ff8e6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Magiera?= <magik6k@gmail.com>
Date: Wed, 19 Jun 2019 14:48:41 +0200
Subject: [PATCH] return struct from NewBus

---
 basic.go      | 16 ++++++++--------
 basic_test.go |  2 +-
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/basic.go b/basic.go
index 8ff9dee..4ebd8e8 100644
--- a/basic.go
+++ b/basic.go
@@ -11,18 +11,18 @@ import (
 ///////////////////////
 // BUS
 
-type bus struct {
+type BasicBus struct {
 	lk    sync.Mutex
 	nodes map[reflect.Type]*node
 }
 
 func NewBus() Bus {
-	return &bus{
+	return &BasicBus{
 		nodes: map[reflect.Type]*node{},
 	}
 }
 
-func (b *bus) withNode(typ reflect.Type, cb func(*node), async func(*node)) error {
+func (b *BasicBus) withNode(typ reflect.Type, cb func(*node), async func(*node)) error {
 	b.lk.Lock()
 
 	n, ok := b.nodes[typ]
@@ -44,7 +44,7 @@ func (b *bus) withNode(typ reflect.Type, cb func(*node), async func(*node)) erro
 	return nil
 }
 
-func (b *bus) tryDropNode(typ reflect.Type) {
+func (b *BasicBus) tryDropNode(typ reflect.Type) {
 	b.lk.Lock()
 	n, ok := b.nodes[typ]
 	if !ok { // already dropped
@@ -64,7 +64,7 @@ func (b *bus) tryDropNode(typ reflect.Type) {
 	b.lk.Unlock()
 }
 
-func (b *bus) Subscribe(typedChan interface{}, opts ...SubOption) (c CancelFunc, err error) {
+func (b *BasicBus) Subscribe(typedChan interface{}, opts ...SubOption) (c CancelFunc, err error) {
 	var settings subSettings
 	for _, opt := range opts {
 		if err := opt(&settings); err != nil {
@@ -118,7 +118,7 @@ func (b *bus) Subscribe(typedChan interface{}, opts ...SubOption) (c CancelFunc,
 	return
 }
 
-func (b *bus) Emitter(evtType interface{}, opts ...EmitterOption) (e EmitFunc, err error) {
+func (b *BasicBus) Emitter(evtType interface{}, opts ...EmitterOption) (e EmitFunc, err error) {
 	var settings emitterSettings
 	for _, opt := range opts {
 		opt(&settings)
@@ -156,7 +156,7 @@ func (b *bus) Emitter(evtType interface{}, opts ...EmitterOption) (e EmitFunc, e
 // NODE
 
 type node struct {
-	// Note: make sure to NEVER lock bus.lk when this lock is held
+	// Note: make sure to NEVER lock BasicBus.lk when this lock is held
 	lk sync.RWMutex
 
 	typ reflect.Type
@@ -196,4 +196,4 @@ func (n *node) emit(event interface{}) {
 ///////////////////////
 // UTILS
 
-var _ Bus = &bus{}
+var _ Bus = &BasicBus{}
diff --git a/basic_test.go b/basic_test.go
index 941c574..7144006 100644
--- a/basic_test.go
+++ b/basic_test.go
@@ -156,7 +156,7 @@ func TestClosingRaces(t *testing.T) {
 
 	wg.Wait()
 
-	if len(b.(*bus).nodes) != 0 {
+	if len(b.(*BasicBus).nodes) != 0 {
 		t.Error("expected no nodes")
 	}
 }