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

@@ -714,7 +714,7 @@ func (s *RPCServer) GetAccountInfoStream(r *gctrpc.GetAccountInfoRequest, stream
}()
for {
data, ok := <-pipe.C
data, ok := <-pipe.Channel()
if !ok {
return errDispatchSystem
}
@@ -2188,7 +2188,7 @@ func (s *RPCServer) GetExchangeOrderbookStream(r *gctrpc.GetExchangeOrderbookStr
}()
for {
data, ok := <-pipe.C
data, ok := <-pipe.Channel()
if !ok {
return errDispatchSystem
}
@@ -2273,7 +2273,7 @@ func (s *RPCServer) GetTickerStream(r *gctrpc.GetTickerStreamRequest, stream gct
}()
for {
data, ok := <-pipe.C
data, ok := <-pipe.Channel()
if !ok {
return errDispatchSystem
}
@@ -2326,7 +2326,7 @@ func (s *RPCServer) GetExchangeTickerStream(r *gctrpc.GetExchangeTickerStreamReq
}()
for {
data, ok := <-pipe.C
data, ok := <-pipe.Channel()
if !ok {
return errDispatchSystem
}