using Cassandra;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace JiShe.CollectBus.Cassandra
{
    public interface ICassandraProvider
    {
        Cluster Instance { get;}

        ISession Session { get;}

        CassandraConfig CassandraConfig { get; }

        ISession GetSession(string? keyspace = null);

        Cluster GetCluster(Action<string?>? callback = null);

        void InitClusterAndSession();

        Task InitClusterAndSessionAsync();
    }
}
