using ScadaLink.Commons.Types.Transport; namespace ScadaLink.Commons.Interfaces.Transport; public interface IBundleSessionStore { /// Stores the session and returns it; overwrites any existing session with the same id. /// The session to store. BundleSession Open(BundleSession session); /// Returns the session for the given id, or null if not found or expired. /// The session identifier to look up. BundleSession? Get(Guid sessionId); /// Removes the session for the given id, if present. /// The session identifier to remove. void Remove(Guid sessionId); /// Removes all sessions whose expiry has passed. void EvictExpired(); }