> From: Irving, Dave [mailto:[EMAIL PROTECTED] > > Sure - it would be possible to do this without changing the API at the > code level - but the ** contract ** changes - which is really part of > the API.
I was very much amused, when I heard about this ** contract ** :-) I really thought it was wrong to support caching of NextFilters, first because you get the correct instance on every call of the filter API and second because the chain even today is mutable. So even today, if I have a bunch on connections going and I go and remove a filter from IoAcceptor, the NextFilter being cached will be broken, for all purposes. > Filter implementors would not be able to cache NextFilters any more: And > if they did, things would break (and you were very worried before about > changes which would make it easier for users to break things). So if > they upgrade and don't recode their filters accordingly, they've got a > problem. Well, as we are in an odd branch (0.9), this is the time to make changes to the contract, which has change quite a lot, as far as I know. :-) > That's what I mean by "impact". > Hopefully Trustin will get back to us with his comments on this feature > - then I'll know whether its worth me spending the time to implement the > lazy copy or not. > No worries, Jose Alberto
