Search in sources :

Example 1 with IWebSocketConnection

use of org.apache.wicket.protocol.ws.api.IWebSocketConnection in project wicket by apache.

the class SimpleWebSocketConnectionRegistry method getConnection.

@Override
public IWebSocketConnection getConnection(Application application, String sessionId, IKey key) {
    Args.notNull(application, "application");
    Args.notNull(sessionId, "sessionId");
    Args.notNull(key, "key");
    IWebSocketConnection connection = null;
    ConcurrentMap<String, ConcurrentMap<IKey, IWebSocketConnection>> connectionsBySession = application.getMetaData(KEY);
    if (connectionsBySession != null) {
        ConcurrentMap<IKey, IWebSocketConnection> connectionsByPage = connectionsBySession.get(sessionId);
        if (connectionsByPage != null) {
            connection = connectionsByPage.get(key);
        }
    }
    return connection;
}
Also used : ConcurrentMap(java.util.concurrent.ConcurrentMap) IWebSocketConnection(org.apache.wicket.protocol.ws.api.IWebSocketConnection)

Example 2 with IWebSocketConnection

use of org.apache.wicket.protocol.ws.api.IWebSocketConnection 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

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