import java.util.concurrent.ConcurrentHashMap;
import org.apache.mina.core.session.IoSession;
/**
* 輔助 異步實現同步 存放 sessionId
* @author lisu005
*
*/
public class TcpSessionManager {
private ConcurrentHashMap<Object, IoSession> sessions;
public TcpSessionManager() {
sessions = new ConcurrentHashMap<Object, IoSession>();
}
public void destroy() {
for (Object key : sessions.keySet()) {
IoSession session = sessions.remove(key);
if (session != null) {
session.close(true);
}
}
}
public void putSession(Object key, IoSession session) {
sessions.putIfAbsent(key, session);
}
public boolean containsKey(Object key) {
return sessions.containsKey(key);
}
public void closeSession(Object key) {
IoSession session = sessions.remove(key);
if (session != null) {
session.close(true);
}
}
public IoSession getSession(Object key) {
return sessions.get(key);
}
}