public LocalSessionTracker(
// 会话超期追踪
SessionExpirer expirer,
// 会话id--超时时间
ConcurrentMap<Long, Integer> sessionsWithTimeouts,
int tickTime, long id, ZooKeeperServerListener listener)
{
super(expirer, sessionsWithTimeouts, tickTime, id, listener);
}
// 追踪
// sessionsById中存在即为被追踪的
public boolean isLocalSession(long sessionId)
{
return isTrackingSession(sessionId);
}
// 全局--返回false
public boolean isGlobalSession(long sessionId)
{
return false;
}
// 创建会话
public long createSession(int sessionTimeout)
{
// 创建会话+提交会话
long sessionId = super.createSession(sessionTimeout);
commitSession(sessionId, sessionTimeout);
return sessionId;
}
// 本地会话
public Set<Long> localSessions()
{
// sessionsWithTimeout是在提交操作时,形成的容器
return sessionsWithTimeout.keySet();
}