use of org.apache.wicket.protocol.ws.api.registry.PageIdKey in project wicket by apache.
the class WebSocketTesterBehaviorTest method serverSideBroadcast.
@Test
public void serverSideBroadcast() {
final String expectedMessage = "Broadcasted Message";
final BroadcastMessage broadcastMessage = new BroadcastMessage(expectedMessage);
final AtomicBoolean messageReceived = new AtomicBoolean(false);
WebSocketBehaviorTestPage page = new WebSocketBehaviorTestPage(broadcastMessage);
tester.startPage(page);
WebSocketTester webSocketTester = new WebSocketTester(tester, page) {
@Override
protected void onOutMessage(String message) {
assertEquals(expectedMessage.toUpperCase(), message);
messageReceived.set(true);
}
};
webSocketTester.broadcast(tester.getApplication(), tester.getHttpSession().getId(), new PageIdKey(page.getPageId()), broadcastMessage);
assertTrue(messageReceived.get());
webSocketTester.destroy();
}
use of org.apache.wicket.protocol.ws.api.registry.PageIdKey in project openmeetings by apache.
the class WebSocketHelper method sendClient.
private static void sendClient(IWsClient client, Consumer<IWebSocketConnection> wsc) {
Application app = (Application) getApp();
WebSocketSettings settings = WebSocketSettings.Holder.get(app);
IWebSocketConnectionRegistry reg = settings.getConnectionRegistry();
// FIXME TODO
Executor executor = settings.getWebSocketPushMessageExecutor();
final IWebSocketConnection wc = reg.getConnection(app, client.getSessionId(), new PageIdKey(client.getPageId()));
if (wc != null && wc.isOpen()) {
executor.run(() -> {
wsc.accept(wc);
});
}
}
Aggregations