Hi Julien,
I followed your proposal, and moved the classes into the proposed
packages, fixed a few visibility issues (protected methods and such).
More inline...
Julien Vermillard wrote:
First thought about class in o.a.m.common :
I tried to give a category for each class (buffer,service,future,etc..)
IoBufferHexDumper.java buffer
SimpleBufferAllocator.java buffer
BufferDataException.java buffer
IoBuffer.java buffer
IoBufferWrapper.java buffer
AbstractIoBuffer.java buffer
IoBufferAllocator.java buffer
CachedBufferAllocator.java buffer
Just perfect. The IoBufferHexDumper could simply be removed and a static
method can be define in utils instead.
DefaultFileRegion.java file
FileRegion.java file
+1
IoFilter.java filterchain
IoFilterLifeCycleException.java filterchain
IoFilterChainBuilder.java filterchain
IoFilterChain.java filterchain
IoFilterEvent.java filterchain
IoEvent.java filterchain
IoFilterAdapter.java filterchain
IoEventType.java filterchain
UnknownMessageTypeException.java filterchain/demux
IMHO, IoEvent and IoEventType belongs to an event package, under the
session package.
UnknownMessageTypeException belongs to the session package, too.
IoFuture.java future
WriteFuture.java future
DefaultCloseFuture.java future
IoFutureListener.java future
CloseFuture.java future
CompositeIoFuture.java future
ConnectFuture.java future
DefaultWriteFuture.java future
DefaultIoFuture.java future
DefaultReadFuture.java future
DefaultConnectFuture.java future
ReadFuture.java future
Perfect.
AbstractPollingIoConnector.java polling
AbstractPollingIoAcceptor.java polling
AbstractPollingIoProcessor.java polling
AbstractPollingConnectionlessIoAcceptor.java polling
+1
WriteToClosedSessionException.java service
TransportMetadata.java service
SimpleIoProcessorPool.java service
NothingWrittenException.java service
IoHandlerAdapter.java service
IoHandler.java service
IoProcessor.java service
IoServiceListenerSupport.java service
IoServiceListener.java service
IoService.java service
AbstractIoAcceptor.java service
DefaultIoFilterChain.java service
DefaultTransportMetadata.java service
DefaultWriteRequest.java service
AbstractIoConnector.java service
AbstractIoService.java service
DefaultIoFilterChainBuilder.java service
ExpiringSessionRecycler.java service
IoAcceptor.java service
IoConnector.java service
DefaultIoFilterChain and DefaultIoFilterChainBuilder should be in filterchain,
I think.
ExpiringSessionRecycler should be in session
DefaultWriteRequest should be in another package, with WriteRequest,
WriteRequestQueue, WriteRequestWrapper, WriteTimeOutException and
WriteToClosedSessionException.
IdleStatus.java session
WriteException.java session
AttributeKey.java session
AbstractIoSession.java session
WriteRequestWrapper.java session
WriteTimeoutException.java session
DummySession.java session
TrafficMask.java session
WriteRequestQueue.java session
WriteRequest.java session
IoSessionDataStructureFactory.java session
IoSessionInitializationException.java session
IoSessionInitializer.java session
DefaultIoSessionDataStructureFactory.java session
IoSessionAttributeMap.java session
IdleStatusChecker.java session
IoSessionRecycler.java session
IoSession.java session
For the two following files, I would create a sub package (config) :
AbstractIoSessionConfig.java session/config
IoSessionConfig.java session/config
I think that a 'write' package could be usefull too :
DefaultWriteRequest.java write
WriteException.java write
WriteRequest.java write
WriteRequestQueue.java write
WriteRequestWrapper.java write
WriteTimeOutException.java write
DefaultExceptionMonitor.java ?
RuntimeIoException.java ?
IoUtil.java ?
ExceptionMonitor.java ?
Anyway this package is now bloated ;)
So we are close to something better. Should I commit the package
modifications ? Here is the new hierarchy :
./org/apache/mina/common/RuntimeIoException.java
./org/apache/mina/common/IoUtil.java
./org/apache/mina/common/ExceptionMonitor.java
./org/apache/mina/common/DefaultExceptionMonitor.java
./org/apache/mina/common/buffer/AbstractIoBuffer.java
./org/apache/mina/common/buffer/BufferDataException.java
./org/apache/mina/common/buffer/IoBuffer.java
./org/apache/mina/common/buffer/SimpleBufferAllocator.java
./org/apache/mina/common/buffer/CachedBufferAllocator.java
./org/apache/mina/common/buffer/IoBufferAllocator.java
./org/apache/mina/common/buffer/IoBufferWrapper.java
./org/apache/mina/common/buffer/IoBufferHexDumper.java
./org/apache/mina/common/file/DefaultFileRegion.java
./org/apache/mina/common/file/FileRegion.java
./org/apache/mina/common/filterchain/DefaultIoFilterChainBuilder.java
./org/apache/mina/common/filterchain/IoFilterEvent.java
./org/apache/mina/common/filterchain/IoFilterLifeCycleException.java
./org/apache/mina/common/filterchain/IoFilterAdapter.java
./org/apache/mina/common/filterchain/DefaultIoFilterChain.java
./org/apache/mina/common/filterchain/IoFilterChain.java
./org/apache/mina/common/filterchain/IoFilterChainBuilder.java
./org/apache/mina/common/filterchain/IoFilter.java
./org/apache/mina/common/future/ReadFuture.java
./org/apache/mina/common/future/DefaultWriteFuture.java
./org/apache/mina/common/future/DefaultCloseFuture.java
./org/apache/mina/common/future/DefaultReadFuture.java
./org/apache/mina/common/future/CompositeIoFuture.java
./org/apache/mina/common/future/DefaultConnectFuture.java
./org/apache/mina/common/future/ConnectFuture.java
./org/apache/mina/common/future/IoFutureListener.java
./org/apache/mina/common/future/WriteFuture.java
./org/apache/mina/common/future/CloseFuture.java
./org/apache/mina/common/future/DefaultIoFuture.java
./org/apache/mina/common/future/IoFuture.java
./org/apache/mina/common/polling/AbstractPollingIoProcessor.java
./org/apache/mina/common/polling/AbstractPollingIoAcceptor.java
./org/apache/mina/common/polling/AbstractPollingIoConnector.java
./org/apache/mina/common/polling/AbstractPollingConnectionlessIoAcceptor.java
./org/apache/mina/common/service/IoProcessor.java
./org/apache/mina/common/service/AbstractIoService.java
./org/apache/mina/common/service/IoAcceptor.java
./org/apache/mina/common/service/IoConnector.java
./org/apache/mina/common/service/IoHandlerAdapter.java
./org/apache/mina/common/service/SimpleIoProcessorPool.java
./org/apache/mina/common/service/IoService.java
./org/apache/mina/common/service/IoHandler.java
./org/apache/mina/common/service/IoServiceListenerSupport.java
./org/apache/mina/common/service/AbstractIoConnector.java
./org/apache/mina/common/service/IoServiceListener.java
./org/apache/mina/common/service/DefaultTransportMetadata.java
./org/apache/mina/common/service/AbstractIoAcceptor.java
./org/apache/mina/common/service/TransportMetadata.java
./org/apache/mina/common/session/TrafficMask.java
./org/apache/mina/common/session/IoSessionRecycler.java
./org/apache/mina/common/session/DummySession.java
./org/apache/mina/common/session/IdleStatus.java
./org/apache/mina/common/session/IoSessionInitializationException.java
./org/apache/mina/common/session/IoSessionAttributeMap.java
./org/apache/mina/common/session/DefaultIoSessionDataStructureFactory.java
./org/apache/mina/common/session/AbstractIoSession.java
./org/apache/mina/common/session/ExpiringSessionRecycler.java
./org/apache/mina/common/session/IoSessionInitializer.java
./org/apache/mina/common/session/AttributeKey.java
./org/apache/mina/common/session/IdleStatusChecker.java
./org/apache/mina/common/session/IoSession.java
./org/apache/mina/common/session/UnknownMessageTypeException.java
./org/apache/mina/common/session/IoSessionDataStructureFactory.java
./org/apache/mina/common/session/config/IoSessionConfig.java
./org/apache/mina/common/session/config/AbstractIoSessionConfig.java
./org/apache/mina/common/session/event/IoEvent.java
./org/apache/mina/common/session/event/IoEventType.java
./org/apache/mina/common/write/WriteRequest.java
./org/apache/mina/common/write/WriteToClosedSessionException.java
./org/apache/mina/common/write/WriteRequestQueue.java
./org/apache/mina/common/write/DefaultWriteRequest.java
./org/apache/mina/common/write/WriteException.java
./org/apache/mina/common/write/NothingWrittenException.java
./org/apache/mina/common/write/WriteTimeoutException.java
./org/apache/mina/common/write/WriteRequestWrapper.java
./org/apache/mina/common/RuntimeIoException.java
./org/apache/mina/common/IoUtil.java
./org/apache/mina/common/ExceptionMonitor.java
./org/apache/mina/common/DefaultExceptionMonitor.java
Any different POV ?
Thanks !
--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org