diff --git a/src/libnmdc/libnmdc.go b/src/libnmdc/libnmdc.go index 4a990b7..c9e2e2a 100644 --- a/src/libnmdc/libnmdc.go +++ b/src/libnmdc/libnmdc.go @@ -87,7 +87,6 @@ type HubConnectionOptions struct { // Returning messages in async mode NumEventsToBuffer uint - OnEvent chan HubEvent // Returning messages in sync mode OnEventSync func(HubEvent) @@ -104,6 +103,7 @@ type HubConnection struct { // Streamed events processEvent func(HubEvent) + OnEvent chan HubEvent // Private state conn net.Conn // this is an interface @@ -428,14 +428,11 @@ func (this *HubConnectionOptions) Connect() *HubConnection { if this.NumEventsToBuffer < 1 { this.NumEventsToBuffer = 1 } - if this.OnEvent == nil { - this.OnEvent = make(chan HubEvent, this.NumEventsToBuffer) - } hc := this.prepareConnection() - + hc.OnEvent = make(chan HubEvent, this.NumEventsToBuffer) hc.processEvent = func(ev HubEvent) { - this.OnEvent <- ev + hc.OnEvent <- ev } go hc.worker()