using Application.Abstractions.Chat; namespace Application.Abstractions.Hub; /// /// AppHub 전역 접속자 추적 (Redis 기반). /// 게스트 포함 모든 SignalR AppHub 연결을 connectionId 단위로 기록 — Admin 현재 접속자 페이지용. /// public interface IVisitorTracker { Task AddAsync(ConnectedUser user); Task RemoveAsync(string connectionId); /// 전체 접속자 목록 (관리자 집계용). Task> GetAllAsync(); /// Web.Api 시작 시 stale 연결 정보 일괄 정리. 모든 클라이언트는 재연결 시 OnConnected 로 재등록됨. Task ClearAllAsync(); }