Doug
I think that while we're making all of these channel changes, we should
also consider doing away with the IsA relationship between
nsIStreamListener/Provider and nsIStreamObserver. This is not necessary
and it only complicates implementations that would like to implement
both nsIStreamListener and nsIStreamProvider. There is no reason why
we couldn't QI for the nsIStreamObserver interface and only optionally
fire OnStartRequest and OnStopRequest. This would give channel clients
greater flexibility as they could decide not to implement
nsIStreamObserver. Take FTP, for example, which doesn't care about
OnStartRequest and OnStopRequest when writing to the socket transport.
Thoughts?
Darin