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();
}