• Guus der Kinderen's avatar
    OF-210: Additional work. (#923) · fa6beb91
    Guus der Kinderen authored
    * Support for Roster Versioning (without send the modifications via roster pushes)
    
    * Roster versioning comparison clearing
    
    * Implementation Note: This empty IQ-result is different from an empty <query/> element, thus disambiguating this usage from an empty roster.
    
    * Avoid cache miss while updating roster
    
    When the roster is updated via group renaming, group user adding or removing, the roster pushes only happen if there is a cache hit. If there is a cache miss (what can happen if the cache is full or if the admin cleaned up the cache) the user is not properly notified about the roster update. Thus only update rosters in memory can lead to this undesired behavior.
    
    This commit avoids the use of the cache directly (where there can be a cache miss or a cache hit). It is using the method getRoster(username) that instantiante a new Roster in the case of a cache miss.
    
    * Clarify the code
    
    * OF-210: Base roster version on its hashCode.
    
    This commit removes all fields from the Roster class that do not relate to its state
    (replacing them with method variables - which seems harmless, as they're all final
    singletons). This allows for an easy override of Object#hashCode() and equals().
    These, in turn, are used to calculate the roster version from.
    
    * Simplified loop
    
    * Prevent potential NPEs.
    
    * Log exceptions for exceptions that cannot happen.
    
    If they cannot happen, we should scream murder if they do...
    
    * OF-210: Roster versioning enabled by default.
    fa6beb91
Name
Last commit
Last update
..
admin Loading commit data...
audit Loading commit data...
auth Loading commit data...
carbons Loading commit data...
cluster Loading commit data...
commands Loading commit data...
component Loading commit data...
container Loading commit data...
crowd Loading commit data...
disco Loading commit data...
entitycaps Loading commit data...
event Loading commit data...
filetransfer Loading commit data...
forms Loading commit data...
forward Loading commit data...
group Loading commit data...
handler Loading commit data...
http Loading commit data...
interceptor Loading commit data...
keystore Loading commit data...
launcher Loading commit data...
ldap Loading commit data...
lockout Loading commit data...
mediaproxy Loading commit data...
muc Loading commit data...
multiplex Loading commit data...
net Loading commit data...
nio Loading commit data...
pep Loading commit data...
privacy Loading commit data...
pubsub Loading commit data...
resultsetmanager Loading commit data...
roster Loading commit data...
sasl Loading commit data...
security Loading commit data...
server Loading commit data...
session Loading commit data...
spi Loading commit data...
starter Loading commit data...
stats Loading commit data...
streammanagement Loading commit data...
transport Loading commit data...
update Loading commit data...
user Loading commit data...
vcard Loading commit data...
webdav Loading commit data...
websocket Loading commit data...
Channel.java Loading commit data...
ChannelHandler.java Loading commit data...
ChannelNotFoundException.java Loading commit data...
Connection.java Loading commit data...
ConnectionCloseListener.java Loading commit data...
ConnectionManager.java Loading commit data...
FlashCrossDomainHandler.java Loading commit data...
IQHandlerInfo.java Loading commit data...
IQRouter.java Loading commit data...
JMXManager.java Loading commit data...
LocalSessionManager.java Loading commit data...
MessageRouter.java Loading commit data...
MulticastRouter.java Loading commit data...
OfflineMessage.java Loading commit data...
OfflineMessageListener.java Loading commit data...
OfflineMessageStore.java Loading commit data...
OfflineMessageStrategy.java Loading commit data...
PacketDeliverer.java Loading commit data...
PacketException.java Loading commit data...
PacketRouter.java Loading commit data...
PresenceManager.java Loading commit data...
PresenceRouter.java Loading commit data...
PrivateStorage.java Loading commit data...
RemoteConnectionFailedException.java Loading commit data...
RemotePacketRouter.java Loading commit data...
RoutableChannelHandler.java Loading commit data...
RoutingTable.java Loading commit data...
ServerPort.java Loading commit data...
SessionManager.java Loading commit data...
SessionNotFoundException.java Loading commit data...
SessionPacketRouter.java Loading commit data...
SessionResultFilter.java Loading commit data...
SharedGroupException.java Loading commit data...
StreamID.java Loading commit data...
StreamIDFactory.java Loading commit data...
XMPPContextListener.java Loading commit data...
XMPPServer.java Loading commit data...
XMPPServerInfo.java Loading commit data...
XMPPServerListener.java Loading commit data...