Cleaned up stream closure

pull/2342/head
John Welsh 9 years ago
parent 910679b1d4
commit 5672d5d3ba

@ -78,6 +78,7 @@ func (l *logsCmd) run() error {
return nil return nil
} }
fmt.Println(l.Log.Log) fmt.Println(l.Log.Log)
done<- struct{}{}
} }
} }

@ -396,46 +396,35 @@ func (h *Client) logs(ctx context.Context, req *rls.GetReleaseLogsRequest, done
rlc := rls.NewReleaseServiceClient(c) rlc := rls.NewReleaseServiceClient(c)
s, err := rlc.GetReleaseLogs(ctx) s, err := rlc.GetReleaseLogs(ctx)
fmt.Println("Got s: ", s, " err: ", err)
if err != nil { if err != nil {
return nil, err return nil, err
} }
s.Send(req)
fmt.Println("Sent req")
out := make(chan *rls.GetReleaseLogsResponse) out := make(chan *rls.GetReleaseLogsResponse)
go func() {
<-done
s.CloseSend()
}()
go func() { go func() {
defer close(out) defer close(out)
defer c.Close() defer c.Close()
for { for {
fmt.Println("Waiting on recv")
rs, err := s.Recv() rs, err := s.Recv()
fmt.Println("Got rs: ", s, " err: ", err)
if err == io.EOF { if err == io.EOF {
return return
} }
if err != nil { if err != nil {
fmt.Println() fmt.Println("gRPC error streaming logs: ", grpc.ErrorDesc(err))
return
} }
out <- rs out <- rs
//select {
////case rs, err := s.Recv():
//// if err == io.EOF {
//// return
//// }
//// if err != nil {
//// fmt.Println("gRPC error streaming logs: ", grpc.ErrorDesc(err))
//// return
//// }
//// out <- rs
//case <-done:
// return
//}
} }
}() }()
s.Send(req)
return out, nil return out, nil
} }

Loading…
Cancel
Save