Modifications include the following:
- Updated otr4j which includes support for fragmentation of outgoing
messages. The modifications to otr4j to enable outgoing message
fragmentation includes breaking the API such that we are able to
return more than 1 message after it has been transformed.
(Corresponding modifications have been made to
AbstractOperationSetBasicInstantMessaging to facilitate the new API.)
- Fixed IRC implementation for OperationSetInstantMessageTransform.
- Modified AbstractOperationSetBasicInstantMessaging to handle multiple
Events returning from a call to messageTransform.
- Modified OperationSetBasicInstantMessaging implementations to
correspond to changes in AbstractOSBIM.
- OTR plugin has been modified to implement the newly added
getFragmenterInstructions method which is used to query instructions
on desired fragmentation behaviour.
- As a temporary solution, a hard dependency has been added to IRC
library such that I'm able to test fragmentation behaviour in a real
use case until an OperationSet is defined that can be used to query
for Instant Messaging transport parameters necessary to determine
appropriate fragmentation instructions.
This is primarily used on Windows to store logs and cached data
on the local computers instead of on the network when roaming profiles
with folder redirection is used.
TestOperationSetMultiUserChat2.testInitialParticipantsRoles():
"Unexpected role for user1 excepted:<MODERATOR> but was:<GUEST>".
This test fails when the smack library takes too much time to call the
RoomListenerMultiplexor. When receiving a presence packet, the PacketReader
calls many listener:
- If the RoomListenerMultiplexor is on top of the Connection.recvListeners map,
then the test was successful.
- Otherwise the test was failing.
1) Synchronizes SubscriptionEventCollector to deal with concurrent read/write
access.
2) Creates a differentiation between the different events collected by the
SubscriptionEventCollector.