@Override public Set<SimpSubscription> findSubscriptions(SimpSubscriptionMatcher matcher) { Set<SimpSubscription> result = new HashSet<>(); for (UserRegistrySnapshot registry : this.remoteRegistries.values()) { result.addAll(registry.findSubscriptions(matcher)); } result.addAll(this.localRegistry.findSubscriptions(matcher)); return result; }
void addRemoteRegistryDto(Message<?> message, MessageConverter converter, long expirationPeriod) { UserRegistrySnapshot registry = (UserRegistrySnapshot) converter.fromMessage(message, UserRegistrySnapshot.class); if (registry != null && !registry.getId().equals(this.id)) { registry.init(expirationPeriod, this.sessionLookup); this.remoteRegistries.put(registry.getId(), registry); } }
public Map<String, SimpSession> findSessions(String userName) { Map<String, SimpSession> map = new HashMap<>(4); SimpUser user = localRegistry.getUser(userName); if (user != null) { for (SimpSession session : user.getSessions()) { map.put(session.getId(), session); } } for (UserRegistrySnapshot registry : remoteRegistries.values()) { TransferSimpUser transferUser = registry.getUserMap().get(userName); if (transferUser != null) { transferUser.addSessions(map); } } return map; }
public Map<String, SimpSession> findSessions(String userName) { Map<String, SimpSession> map = new HashMap<>(4); SimpUser user = localRegistry.getUser(userName); if (user != null) { for (SimpSession session : user.getSessions()) { map.put(session.getId(), session); } } for (UserRegistrySnapshot registry : remoteRegistries.values()) { TransferSimpUser transferUser = registry.getUserMap().get(userName); if (transferUser != null) { transferUser.addSessions(map); } } return map; }
public Map<String, SimpSession> findSessions(String userName) { Map<String, SimpSession> map = new HashMap<>(4); SimpUser user = localRegistry.getUser(userName); if (user != null) { for (SimpSession session : user.getSessions()) { map.put(session.getId(), session); } } for (UserRegistrySnapshot registry : remoteRegistries.values()) { TransferSimpUser transferUser = registry.getUserMap().get(userName); if (transferUser != null) { transferUser.addSessions(map); } } return map; }
Object getLocalRegistryDto() { return new UserRegistrySnapshot(this.id, this.localRegistry); }
Object getLocalRegistryDto() { return new UserRegistrySnapshot(this.id, this.localRegistry); }
@Override public Set<SimpUser> getUsers() { // Prefer remote registries due to cross-server SessionLookup Set<SimpUser> result = new HashSet<>(); for (UserRegistrySnapshot registry : this.remoteRegistries.values()) { result.addAll(registry.getUserMap().values()); } result.addAll(this.localRegistry.getUsers()); return result; }
@Override @Nullable public SimpUser getUser(String userName) { // Prefer remote registries due to cross-server SessionLookup for (UserRegistrySnapshot registry : this.remoteRegistries.values()) { SimpUser user = registry.getUserMap().get(userName); if (user != null) { return user; } } return this.localRegistry.getUser(userName); }
@Override public Set<SimpSubscription> findSubscriptions(SimpSubscriptionMatcher matcher) { Set<SimpSubscription> result = new HashSet<>(); for (UserRegistrySnapshot registry : this.remoteRegistries.values()) { result.addAll(registry.findSubscriptions(matcher)); } result.addAll(this.localRegistry.findSubscriptions(matcher)); return result; }
void purgeExpiredRegistries() { long now = System.currentTimeMillis(); this.remoteRegistries.entrySet().removeIf(entry -> entry.getValue().isExpired(now)); }
@Override @Nullable public SimpUser getUser(String userName) { // Prefer remote registries due to cross-server SessionLookup for (UserRegistrySnapshot registry : this.remoteRegistries.values()) { SimpUser user = registry.getUserMap().get(userName); if (user != null) { return user; } } return this.localRegistry.getUser(userName); }
@Override public int getUserCount() { int userCount = 0; for (UserRegistrySnapshot registry : this.remoteRegistries.values()) { userCount += registry.getUserMap().size(); } userCount += this.localRegistry.getUserCount(); return userCount; }
void addRemoteRegistryDto(Message<?> message, MessageConverter converter, long expirationPeriod) { UserRegistrySnapshot registry = (UserRegistrySnapshot) converter.fromMessage(message, UserRegistrySnapshot.class); if (registry != null && !registry.getId().equals(this.id)) { registry.init(expirationPeriod, this.sessionLookup); this.remoteRegistries.put(registry.getId(), registry); } }
@Override public Set<SimpSubscription> findSubscriptions(SimpSubscriptionMatcher matcher) { Set<SimpSubscription> result = new HashSet<>(); for (UserRegistrySnapshot registry : this.remoteRegistries.values()) { result.addAll(registry.findSubscriptions(matcher)); } result.addAll(this.localRegistry.findSubscriptions(matcher)); return result; }
@Override public int getUserCount() { int userCount = 0; for (UserRegistrySnapshot registry : this.remoteRegistries.values()) { userCount += registry.getUserMap().size(); } userCount += this.localRegistry.getUserCount(); return userCount; }
void addRemoteRegistryDto(Message<?> message, MessageConverter converter, long expirationPeriod) { UserRegistrySnapshot registry = (UserRegistrySnapshot) converter.fromMessage(message, UserRegistrySnapshot.class); if (registry != null && !registry.getId().equals(this.id)) { registry.init(expirationPeriod, this.sessionLookup); this.remoteRegistries.put(registry.getId(), registry); } }
@Override public Set<SimpUser> getUsers() { // Prefer remote registries due to cross-server SessionLookup Set<SimpUser> result = new HashSet<>(); for (UserRegistrySnapshot registry : this.remoteRegistries.values()) { result.addAll(registry.getUserMap().values()); } result.addAll(this.localRegistry.getUsers()); return result; }
void purgeExpiredRegistries() { long now = System.currentTimeMillis(); this.remoteRegistries.entrySet().removeIf(entry -> entry.getValue().isExpired(now)); }
public Map<String, SimpSession> findSessions(String userName) { Map<String, SimpSession> map = new HashMap<>(4); SimpUser user = localRegistry.getUser(userName); if (user != null) { for (SimpSession session : user.getSessions()) { map.put(session.getId(), session); } } for (UserRegistrySnapshot registry : remoteRegistries.values()) { TransferSimpUser transferUser = registry.getUserMap().get(userName); if (transferUser != null) { transferUser.addSessions(map); } } return map; }