diff options
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.java | 55 |
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 |