namespace EgwCoreLib.Lux.Data.Services.Internal
{
///
/// Interfaccia gestore sottoscrizioni Redis
///
public interface IRedisSubscriptionManager : IDisposable
{
#region Public Methods
///
/// Sottoscrizioni a un canale
///
/// Nome del canale
/// Handler per i messaggi
/// True se sottoscrizione andata a buon fine
bool Subscribe(string channel, Action handler);
///
/// Prova a sottoscriversi (cattura eccezioni e ritorna false)
///
/// Nome del canale
/// Handler per i messaggi
/// True se sottoscrizione andata a buon fine
bool TrySubscribe(string channel, Action handler);
///
/// Si disiscrive da un canale
///
/// Nome del canale
/// True se disiscrizione andata a buon fine
bool Unsubscribe(string channel);
///
/// Restituisce l'elenco dei canali attivi
///
/// Elenco dei canali sottoscritti
IEnumerable GetActiveChannels();
#endregion Public Methods
}
}