package com.l7tech.server.cassandra;

import com.codahale.metrics.jmx.JmxReporter;
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.cql.PreparedStatement;
import com.l7tech.gateway.common.cassandra.CassandraConnection;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.atomic.AtomicLong;

public interface CassandraConnectionHolder {
   CassandraConnection getCassandraConnectionEntity();

   CqlSession getSession();

   Optional<JmxReporter> getJmxReporter();

   Map<String, PreparedStatement> getPreparedStatementMap();

   long getCreatedTime();

   AtomicLong getLastAccessTime();
}
