Attached is a first proposal, please take a look. I'd like to see if there's any initial feedback now, and I'll work up a more extensive patch the coming weeks before M3 is released.
Open issues: - should maybe leave the methodes on the IoService interface for the next milestone, marked deprecated, and don't remove them until 2.0 final. - interface naming is open to debate (e.g. the current naming scheme doesn't really allow the same interfaces to be used for IoSession statistics). - location of the lastReadTime() / lastWriteTime() / lastIoTime() methods is open to debate. - to keep the impact of this first patch low, I just made AbstractIoService implement the statistics interfaces, rather than factoring them into inner classes. (separation of concerns, high cohesion, etc.) Factoring them into separate classes gives the ability to deploy those instances into an MBeanServer, which I think is a big reason to make that change. Not all application servers use the standard MBeanServer (at least historically; Java 5 may have changed that) and JMX+OSGi isn't always straightforward, so the actual MBean deployment should be handled by a pluggable strategy implementation. - I haven't touched the IoSession statistics yet, but the basic idea is the same. - anything else? Thanks, Barend On Fri, Jun 27, 2008 at 7:22 AM, peter royal <[EMAIL PROTECTED]> wrote: > i think that's a very reasonable improvement. care to work up a patch? :) > > -pete >
