dispatch: channel reuse fix (#1237)

* Add test for dispatch channel reuse

* Dispatcher - make chans bidirectional

* No need to to keep the type assertion separate from the Get()

* Unexport Pipe's channel and add getter
This commit is contained in:
TaltaM
2023-06-21 04:33:40 +02:00
committed by GitHub
parent 97804a79da
commit db7441c723
6 changed files with 31 additions and 16 deletions

View File

@@ -218,7 +218,7 @@ func (d *Dispatcher) publish(id uuid.UUID, data interface{}) error {
// Subscribe subscribes a system and returns a communication chan, this does not
// ensure initial push.
func (d *Dispatcher) subscribe(id uuid.UUID) (<-chan interface{}, error) {
func (d *Dispatcher) subscribe(id uuid.UUID) (chan interface{}, error) {
if d == nil {
return nil, errDispatcherNotInitialized
}
@@ -251,7 +251,7 @@ func (d *Dispatcher) subscribe(id uuid.UUID) (<-chan interface{}, error) {
}
// Unsubscribe unsubs a routine from the dispatcher
func (d *Dispatcher) unsubscribe(id uuid.UUID, usedChan <-chan interface{}) error {
func (d *Dispatcher) unsubscribe(id uuid.UUID, usedChan chan interface{}) error {
if d == nil {
return errDispatcherNotInitialized
}