summaryrefslogtreecommitdiffstats
path: root/src/main/java/com/thinkaurelius/titan/diskstorage/cassandra/thrift/thriftpool/CTConnection.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/thinkaurelius/titan/diskstorage/cassandra/thrift/thriftpool/CTConnection.java')
-rw-r--r--src/main/java/com/thinkaurelius/titan/diskstorage/cassandra/thrift/thriftpool/CTConnection.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/main/java/com/thinkaurelius/titan/diskstorage/cassandra/thrift/thriftpool/CTConnection.java b/src/main/java/com/thinkaurelius/titan/diskstorage/cassandra/thrift/thriftpool/CTConnection.java
new file mode 100644
index 0000000..3657fb9
--- /dev/null
+++ b/src/main/java/com/thinkaurelius/titan/diskstorage/cassandra/thrift/thriftpool/CTConnection.java
@@ -0,0 +1,55 @@
+package com.thinkaurelius.titan.diskstorage.cassandra.thrift.thriftpool;
+
+import org.apache.cassandra.thrift.Cassandra;
+import org.apache.cassandra.thrift.Cassandra.Client;
+import org.apache.thrift.transport.TTransport;
+
+import java.io.Closeable;
+
+/**
+ * Wraps a {@code Cassandra.Client} instance, its underlying {@code TTransport}
+ * instance, and the {@link com.thinkaurelius.titan.diskstorage.cassandra.thrift.thriftpool.CTConnectionFactory.Config} instance used to setup
+ * the connection.
+ *
+ * @see CTConnectionFactory
+ * @see CTConnectionPool
+ * @author Dan LaRocque <dalaro@hopcount.org>
+ */
+public class CTConnection implements Closeable {
+
+ private final TTransport transport;
+ private final Cassandra.Client client;
+ private final CTConnectionFactory.Config cfg;
+
+ public CTConnection(TTransport transport, Client client, CTConnectionFactory.Config cfg) {
+ this.transport = transport;
+ this.client = client;
+ this.cfg = cfg;
+ }
+
+ public TTransport getTransport() {
+ return transport;
+ }
+
+ public Cassandra.Client getClient() {
+ return client;
+ }
+
+ public CTConnectionFactory.Config getConfig() {
+ return cfg;
+ }
+
+ public boolean isOpen() {
+ return transport.isOpen();
+ }
+ @Override
+ public void close() {
+ if (transport != null && transport.isOpen())
+ transport.close();
+ }
+
+ @Override
+ public String toString() {
+ return "CTConnection [transport=" + transport + ", client=" + client + ", cfg=" + cfg + "]";
+ }
+} \ No newline at end of file