Sha256: cb31882ef3b278f28c7c433bb21ff30a9e36b1ec6c866708acebf96c3f90a24d
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
package org.embulk.executor.remoteserver; import com.github.kamatama41.nsocket.Connection; import java.util.List; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; class SessionManager { private final ConcurrentMap<String, Session> sessionMap; SessionManager() { this.sessionMap = new ConcurrentHashMap<>(); } void registerNewSession(String sessionId, String systemConfig, String pluginTaskConfig, String processTaskConfig, List<PluginArchive.GemSpec> gemSpecs, byte[] pluginArchive, Connection connection) { Session session = sessionMap.computeIfAbsent( sessionId, (k) -> new Session( sessionId, systemConfig, pluginTaskConfig, processTaskConfig, gemSpecs, pluginArchive)); session.updateConnection(connection); } Session getSession(String sessionId) { return sessionMap.get(sessionId); } void removeSession(String sessionId) { Session removed = sessionMap.remove(sessionId); removed.close(); } }
Version data entries
2 entries across 2 versions & 1 rubygems