IChatConnectionTracker.cs 547 B

12345678910111213141516
  1. namespace Application.Abstractions.Chat;
  2. public interface IChatConnectionTracker
  3. {
  4. Task AddAsync(string channelSID, ConnectedUser user);
  5. Task RemoveAsync(string channelSID, string connectionId);
  6. Task<IReadOnlyList<ConnectedUser>> GetByChannelAsync(string channelSID);
  7. Task<int> GetCountByChannelAsync(string channelSID);
  8. // 전체 채널에 걸친 접속자 + 채널 SID (관리자 집계용)
  9. Task<IReadOnlyList<(
  10. string ChannelSID,
  11. ConnectedUser User
  12. )>> GetAllAsync();
  13. Task ClearAllAsync();
  14. }