@Override public <R> OperationResult<R> executeWithFailover(Operation<T, R> operation, RetryPolicy retryPolicy) throws ConnectionException, OperationException { Operation<T, R> pinnedOperation = new AbstractOperationFilter<T, R>(operation) { @Override public Host getPinnedHost() { return _host; } }; return _delegate.executeWithFailover(pinnedOperation, retryPolicy); }
@Override public void setHosts(Collection<Host> collection) { _delegate.setHosts(collection); }
@Override public boolean addHost(Host host, boolean b) { return _delegate.addHost(host, b); }
@Override public boolean hasHost(Host host) { return _delegate.hasHost(host); }
@Override public List<HostConnectionPool<T>> getActivePools() { return _delegate.getActivePools(); }
@Override public boolean removeHost(Host host, boolean b) { return _delegate.removeHost(host, b); }
@Override public boolean isHostUp(Host host) { return _delegate.isHostUp(host); }
@Override public void shutdown() { _delegate.shutdown(); }
@Override public void start() { _delegate.start(); }
@Override public boolean hasHost(Host host) { return _delegate.hasHost(host); }
@Override public List<HostConnectionPool<T>> getActivePools() { return _delegate.getActivePools(); }
@Override public boolean removeHost(Host host, boolean b) { return _delegate.removeHost(host, b); }
@Override public boolean isHostUp(Host host) { return _delegate.isHostUp(host); }
@Override public void shutdown() { _delegate.shutdown(); }
@Override public void start() { _delegate.start(); }
private <R> OperationResult<R> executeOperation(Operation<Cassandra.Client, R> operation, RetryPolicy retry) throws OperationException, ConnectionException { return connectionPool.executeWithFailover(operation, retry); }
@Override public void setHosts(Collection<Host> collection) { _delegate.setHosts(collection); }
public PinnedConnectionPool(ConnectionPool<T> delegate, Host host) { checkArgument(delegate.hasHost(host), "Cannot pin to host not in pool"); _delegate = delegate; _host = host; }
@Override public boolean addHost(Host host, boolean b) { return _delegate.addHost(host, b); }
@Override public String getActiveHosts() { return StringUtils.join(Lists.transform(pool.getActivePools(), new Function<HostConnectionPool<?>, String>() { @Override public String apply(HostConnectionPool<?> host) { return host.getHost().getName(); } }), ","); } }