Shift authority for message availability to the pub/sub event system
This commit is contained in:
parent
c91242ed60
commit
ef716aacc2
|
@ -472,10 +472,6 @@ public class WebSocketConnection implements MessageAvailabilityListener, ClientE
|
||||||
PRESENCE_MANAGER_TAG, "legacy")
|
PRESENCE_MANAGER_TAG, "legacy")
|
||||||
.increment();
|
.increment();
|
||||||
|
|
||||||
storedMessageState.compareAndSet(StoredMessageState.EMPTY, StoredMessageState.CACHED_NEW_MESSAGES_AVAILABLE);
|
|
||||||
|
|
||||||
processStoredMessages();
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -484,6 +480,10 @@ public class WebSocketConnection implements MessageAvailabilityListener, ClientE
|
||||||
Metrics.counter(MESSAGE_AVAILABLE_COUNTER_NAME,
|
Metrics.counter(MESSAGE_AVAILABLE_COUNTER_NAME,
|
||||||
PRESENCE_MANAGER_TAG, "pubsub")
|
PRESENCE_MANAGER_TAG, "pubsub")
|
||||||
.increment();
|
.increment();
|
||||||
|
|
||||||
|
storedMessageState.compareAndSet(StoredMessageState.EMPTY, StoredMessageState.CACHED_NEW_MESSAGES_AVAILABLE);
|
||||||
|
|
||||||
|
processStoredMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -498,10 +498,6 @@ public class WebSocketConnection implements MessageAvailabilityListener, ClientE
|
||||||
PRESENCE_MANAGER_TAG, "legacy")
|
PRESENCE_MANAGER_TAG, "legacy")
|
||||||
.increment();
|
.increment();
|
||||||
|
|
||||||
storedMessageState.set(StoredMessageState.PERSISTED_NEW_MESSAGES_AVAILABLE);
|
|
||||||
|
|
||||||
processStoredMessages();
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -510,6 +506,10 @@ public class WebSocketConnection implements MessageAvailabilityListener, ClientE
|
||||||
Metrics.counter(MESSAGES_PERSISTED_COUNTER_NAME,
|
Metrics.counter(MESSAGES_PERSISTED_COUNTER_NAME,
|
||||||
PRESENCE_MANAGER_TAG, "pubsub")
|
PRESENCE_MANAGER_TAG, "pubsub")
|
||||||
.increment();
|
.increment();
|
||||||
|
|
||||||
|
storedMessageState.set(StoredMessageState.PERSISTED_NEW_MESSAGES_AVAILABLE);
|
||||||
|
|
||||||
|
processStoredMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -268,7 +268,7 @@ class WebSocketConnectionTest {
|
||||||
// or wait for anything.
|
// or wait for anything.
|
||||||
connection.start();
|
connection.start();
|
||||||
|
|
||||||
connection.handleNewMessagesAvailable();
|
connection.handleNewMessageAvailable();
|
||||||
|
|
||||||
synchronized (sendCounter) {
|
synchronized (sendCounter) {
|
||||||
while (sendCounter.get() < 1) {
|
while (sendCounter.get() < 1) {
|
||||||
|
@ -276,7 +276,7 @@ class WebSocketConnectionTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
connection.handleNewMessagesAvailable();
|
connection.handleNewMessageAvailable();
|
||||||
|
|
||||||
synchronized (sendCounter) {
|
synchronized (sendCounter) {
|
||||||
while (sendCounter.get() < 2) {
|
while (sendCounter.get() < 2) {
|
||||||
|
@ -693,7 +693,7 @@ class WebSocketConnectionTest {
|
||||||
|
|
||||||
when(client.sendRequest(eq("PUT"), eq("/api/v1/message"), any(List.class), any(Optional.class)))
|
when(client.sendRequest(eq("PUT"), eq("/api/v1/message"), any(List.class), any(Optional.class)))
|
||||||
.thenAnswer(invocation -> {
|
.thenAnswer(invocation -> {
|
||||||
connection.handleNewMessagesAvailable();
|
connection.handleNewMessageAvailable();
|
||||||
|
|
||||||
return CompletableFuture.completedFuture(successResponse);
|
return CompletableFuture.completedFuture(successResponse);
|
||||||
});
|
});
|
||||||
|
@ -741,7 +741,7 @@ class WebSocketConnectionTest {
|
||||||
|
|
||||||
verify(messagesManager).getMessagesForDeviceReactive(account.getUuid(), device, false);
|
verify(messagesManager).getMessagesForDeviceReactive(account.getUuid(), device, false);
|
||||||
|
|
||||||
connection.handleNewMessagesAvailable();
|
connection.handleNewMessageAvailable();
|
||||||
|
|
||||||
verify(messagesManager).getMessagesForDeviceReactive(account.getUuid(), device, true);
|
verify(messagesManager).getMessagesForDeviceReactive(account.getUuid(), device, true);
|
||||||
}
|
}
|
||||||
|
@ -769,7 +769,7 @@ class WebSocketConnectionTest {
|
||||||
// whenComplete method will get called immediately on THIS thread, so we don't need to synchronize or wait for
|
// whenComplete method will get called immediately on THIS thread, so we don't need to synchronize or wait for
|
||||||
// anything.
|
// anything.
|
||||||
connection.processStoredMessages();
|
connection.processStoredMessages();
|
||||||
connection.handleMessagesPersisted();
|
connection.handleMessagesPersistedPubSub();
|
||||||
|
|
||||||
verify(messagesManager, times(2)).getMessagesForDeviceReactive(account.getUuid(), device, false);
|
verify(messagesManager, times(2)).getMessagesForDeviceReactive(account.getUuid(), device, false);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue