package com.psddev.cms.rtc;
import com.psddev.dari.db.UpdateNotifier;
import java.util.UUID;
import java.util.concurrent.ConcurrentMap;
class RtcSessionUpdateNotifier implements UpdateNotifier<RtcSession> {
private final ConcurrentMap<UUID, RtcAsyncContext> contexts;
public RtcSessionUpdateNotifier(ConcurrentMap<UUID, RtcAsyncContext> contexts) {
this.contexts = contexts;
}
@Override
public void onUpdate(RtcSession session) {
if (session.isClosed()) {
RtcAsyncContext context = contexts.remove(session.getId());
if (context != null) {
context.disconnect();
}
}
}
}