Search in sources :

Example 1 with Executor

use of org.apache.wicket.protocol.ws.concurrent.Executor in project wicket by apache.

the class WebSocketPushBroadcaster method process.

private void process(final Application application, final Collection<IWebSocketConnection> wsConnections, final IWebSocketPushMessage message) {
    WebSocketSettings webSocketSettings = WebSocketSettings.Holder.get(application);
    Executor executor = webSocketSettings.getWebSocketPushMessageExecutor();
    for (final IWebSocketConnection wsConnection : wsConnections) {
        executor.run(new Runnable() {

            @Override
            public void run() {
                wsConnection.sendMessage(message);
            }
        });
    }
}
Also used : Executor(org.apache.wicket.protocol.ws.concurrent.Executor) WebSocketSettings(org.apache.wicket.protocol.ws.WebSocketSettings)

Example 2 with Executor

use of org.apache.wicket.protocol.ws.concurrent.Executor 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);
        });
    }
}
Also used : Executor(org.apache.wicket.protocol.ws.concurrent.Executor) PageIdKey(org.apache.wicket.protocol.ws.api.registry.PageIdKey) WebSocketSettings(org.apache.wicket.protocol.ws.WebSocketSettings) IWebSocketConnection(org.apache.wicket.protocol.ws.api.IWebSocketConnection) IWebSocketConnectionRegistry(org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry) IApplication(org.apache.openmeetings.IApplication) Application(org.apache.wicket.Application)

Aggregations

WebSocketSettings (org.apache.wicket.protocol.ws.WebSocketSettings)2 Executor (org.apache.wicket.protocol.ws.concurrent.Executor)2 IApplication (org.apache.openmeetings.IApplication)1 Application (org.apache.wicket.Application)1 IWebSocketConnection (org.apache.wicket.protocol.ws.api.IWebSocketConnection)1 IWebSocketConnectionRegistry (org.apache.wicket.protocol.ws.api.registry.IWebSocketConnectionRegistry)1 PageIdKey (org.apache.wicket.protocol.ws.api.registry.PageIdKey)1