Arguably, ResponseStream and ResponseFuture are serving two purposes: "The interface interceptors need to work with" and the base of implementations that have ClientCall state. A backwards-compatible future change could in principle separate an interface and a base class to decouple these.
Reverts part of https://github.com/grpc/grpc-dart/commit/d9553ca73f66116f7ad14fff5d0e4814253311a4
Making
ResponseStream
abase
class is not backward-compatible and makes it hard or impossible to work around https://github.com/grpc/grpc-dart/issues/413.Arguably, ResponseStream and ResponseFuture are serving two purposes: "The interface interceptors need to work with" and the base of implementations that have
ClientCall
state. A backwards-compatible future change could in principle separate aninterface
and abase
class to decouple these.