- Major code reorganization of the server code across several classes with fewer 'friends'
- New server classes - AbstractPort, PcapPort, WinPcapPort, PortManager
- With this reorg classes have more focus than earlier and will be hopefully easy to extend
Fixes
- Ostinato client is now able to successfully reconnect and talk to the Ostinato server after a disconnect - earlier, if a method had been pending during the disconnect, the communication was not up after a reconnect; pending methods are cleaned up at disconnect now
- Added support for retrieving the packet capture buffer from server to client (does not work consistently however - needs investigation)
- getCaptureBuffer() Rpc signature changed
- RPC: Added support in Rpc Channel (client) to queue calls
- RPC: Added support for transferring arbitrary binary data from server to client (used to get packet capture files)
- Rpc header changed - length is now 4 bytes instead of 2; there is no rsvd field any longer
Fixes
- RPC: Fix for the case when a msg is not received all at once over the socket
- StreamConfigDialog: fixed display issue in packet view for combo protocols containing meta fields
- Fixed issue with Stacked Vlan not retaining data for both CVlan and SVlan
- Fixed incorrect payload size issue with increment/decrement frame length modes
Refactoring, Cleanup etc.
- RPC: Minor code and TODOs cleanup
- Server: Minor code and TODOs cleanup
- Server: Removed unused file(s): rxtx.cpp, rxtx.h
- Server: Replaced direct use of ProtocolList with the ProtocolListIterator
- Common: Minor code and TODOs cleanup
- StreamBase::frameLen() now returns the length based on the mode/min/max and the passed in streamIndex
- AbstractProtocol interface changed for methods - protocolFrameSize(), protocolFrameOffset(), protocolFramePayloadSize() : all of them now take streamIndex as an optional param with 0 as the default value
- Protocols implementing the above methods changed accordingly