On Tue, 14 Aug 2007 23:17:33 +0900 "Trustin Lee" <[EMAIL PROTECTED]> wrote:
> Hi community, > > Today, I made big changes in trunk. The following is the summarized Seen that, totally broken my sandbox :) > list of the changes: > > Changes visible to users: > ========================= > The following changes will affect MINA-based application code > directly. They are mostly renaming, so simple replace operation will > fix most compilation errors. > > * Renamed TransportType to IoServiceMetadata because it stands what it > does more precisely. Why not, the TransportType class role wasn't very clear anyway. > * Added IoServiceMetadata.hasFragmentation() Good idea. > * Removed static fields in IoServiceMetadata which caused bad coupling Nice change, it was a bit annoying to see all those hard-coded thing when you try to add a new TransportType > * Removed IoSession.getTransportType() because IoServiceMetadata can > be retrieved via IoSession.getService().getMetadata() Never seen it ;) Yes a good move, I don't think a IoService will mix IoSession of different TransportType. > * Renamed ExpiringSessionRecycler to ExpiringIoSessionRecycler to get > aligned with its parent name: IoSessionRecycler Smart move. > * Renamed SessionLog to IoSessionLogger to make its name get aligned > with IoSession type and SLF4J Logger type Smart move. > > Changes not visible to most users: > ================================== > These are somewhat internal changes, which is often used to create a > new transport. > > * Removed all cyclic dependencies except for test code. > * All classes in *.support package have been moved to its parent > class, and they became package-private. > * Renamed Base* to Abstract* which sounds more familiar to most > developers > * Renamed DelegatedIoAcceptor to IoAcceptorWrapper and > DelegatedIoConnector to IoConnectorWrapper respectively > * Renamed SessionIdleStatusChecker to IdleStatusChecker to make its > name get aligned with IdleStatus type > * Renamed SimpleProtocolEncoderOutput to AbstractProtocolEncoderOutput > * Renamed SimpleProtocolDecoderOutput to AbstractProtocolDecoderOutput > * Simplified AbstractProtocolDecoderOutput so anyone can extend it, > and moved complicated part to ProtocolCodecFilter > > All the changes above make good sense IMHO, but please let me know if > I made any mistake. I will revert back very quickly. That's sounding very good and it's mostly class name changes, so I think the impact will be minimal. I'll try to test SerialConnector asap since no automated was possible. > > Additionally, I'd like to make the following change tomorrow morning: > > * IoServiceMetadata.getEnvelopeType() needs to be replaced with > getEnvelopedTypes() which returns a set of classes (i.e. > Set<Class<?>>), because the socket transport can understand two > envelope types now; ByteBuffer and FileRegion. Will take a look for see if it can help me to add sendFile() support in APRConnnector. The list of change sound reasonable, since 2.0 is mainly an API rework. Anyway it's not shocking me becasue for migrating user code from 1.X to 2.x you already needed to modify your code for incorporate the API changes. Julien
