Simplify Singleton usage by leveraging Go 1.18's generics

This commit is contained in:
Deluan
2022-07-27 12:15:05 -04:00
parent a2d9aaeff8
commit d613b19306
6 changed files with 45 additions and 38 deletions
+1 -3
View File
@@ -65,7 +65,7 @@ type broker struct {
}
func GetBroker() Broker {
instance := singleton.Get(&broker{}, func() interface{} {
return singleton.GetInstance(func() *broker {
// Instantiate a broker
broker := &broker{
publish: make(messageChan, 2),
@@ -77,8 +77,6 @@ func GetBroker() Broker {
go broker.listen()
return broker
})
return instance.(*broker)
}
func (b *broker) SendMessage(ctx context.Context, evt Event) {