Ok, after some discussions with Bryce and Keith I've arrived at an
improved version of the patch. The first couple changes involve using an
array instead of the hashtable and tossing the IOException up from
_processOnePacket and exiting in run() when we get it.
The final changes involve the streams used to read the command packet
data and write the reply packet data. The data portion of the command
packet is now wrapped in a ByteBuffer. For the reply packet however the
size of the data portion is simply too variable so we had to stick with
a DataInputStream, the constructors however have been moved out and the
only action required between packets is a reset() call.
This also adds a simple convenience constructor to JdwpReplyPacket.
Comments on the new implementation?
The CommandSet objects don't actually need a JdwpConnection at all so
I've removed them from the where I construct the array and fixed the
line length too.
Aaron
ChangeLog
2005-06-24 Aaron Luchko <address@hidden>
* gnu/classpath/jdwp/processor/CommandSet.java: New file.
* gnu/classpath/jdwp/processor/PacketProcessor.java: Use
CommandSets to handle JdwpCommandPackets.
* gnu/classpath/jdwp/transport/JdwpReplyPacket.java: New
Constructor.