net.spy.memcached
Class MemcachedConnection

java.lang.Object
  extended by net.spy.memcached.compat.SpyObject
      extended by net.spy.memcached.MemcachedConnection

public final class MemcachedConnection
extends SpyObject

Connection to a cluster of memcached servers.


Constructor Summary
MemcachedConnection(int bufSize, ConnectionFactory f, java.util.List<java.net.InetSocketAddress> a, java.util.Collection<ConnectionObserver> obs, FailureMode fm, OperationFactory opfactory)
          Construct a memcached connection.
 
Method Summary
 boolean addObserver(ConnectionObserver obs)
          Add a connection observer.
 void addOperation(MemcachedNode node, Operation o)
           
 void addOperation(java.lang.String key, Operation o)
          Add an operation to the given connection.
 void addOperations(java.util.Map<MemcachedNode,Operation> ops)
           
 java.util.concurrent.CountDownLatch broadcastOperation(BroadcastOpFactory of)
          Broadcast an operation to all nodes.
 java.util.concurrent.CountDownLatch broadcastOperation(BroadcastOpFactory of, java.util.Collection<MemcachedNode> nodes)
          Broadcast an operation to a specific collection of nodes.
 void handleIO()
          MemcachedClient calls this method to handle IO over the connections.
 void insertOperation(MemcachedNode node, Operation o)
           
 boolean removeObserver(ConnectionObserver obs)
          Remove a connection observer.
static void setContinuousTimeout(boolean isIncrease)
          whenever timeout exception occur, timeout counter increase by 1 until timeout exception threshold but, if isIncrease is false, timeout counter will be reset
 void shutdown()
          Shut down all of the connections.
 java.lang.String toString()
           
 
Methods inherited from class net.spy.memcached.compat.SpyObject
getLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MemcachedConnection

public MemcachedConnection(int bufSize,
                           ConnectionFactory f,
                           java.util.List<java.net.InetSocketAddress> a,
                           java.util.Collection<ConnectionObserver> obs,
                           FailureMode fm,
                           OperationFactory opfactory)
                    throws java.io.IOException
Construct a memcached connection.

Parameters:
bufSize - the size of the buffer used for reading from the server
f - the factory that will provide an operation queue
a - the addresses of the servers to connect to
Throws:
java.io.IOException - if a connection attempt fails early
Method Detail

setContinuousTimeout

public static void setContinuousTimeout(boolean isIncrease)
whenever timeout exception occur, timeout counter increase by 1 until timeout exception threshold but, if isIncrease is false, timeout counter will be reset

Parameters:
isIncrease -

handleIO

public void handleIO()
              throws java.io.IOException
MemcachedClient calls this method to handle IO over the connections.

Throws:
java.io.IOException

addObserver

public boolean addObserver(ConnectionObserver obs)
Add a connection observer.

Returns:
whether the observer was successfully added

removeObserver

public boolean removeObserver(ConnectionObserver obs)
Remove a connection observer.

Returns:
true if the observer existed and now doesn't

addOperation

public void addOperation(java.lang.String key,
                         Operation o)
Add an operation to the given connection.

Parameters:
key - the key the operation is operating upon
o - the operation

insertOperation

public void insertOperation(MemcachedNode node,
                            Operation o)

addOperation

public void addOperation(MemcachedNode node,
                         Operation o)

addOperations

public void addOperations(java.util.Map<MemcachedNode,Operation> ops)

broadcastOperation

public java.util.concurrent.CountDownLatch broadcastOperation(BroadcastOpFactory of)
Broadcast an operation to all nodes.


broadcastOperation

public java.util.concurrent.CountDownLatch broadcastOperation(BroadcastOpFactory of,
                                                              java.util.Collection<MemcachedNode> nodes)
Broadcast an operation to a specific collection of nodes.


shutdown

public void shutdown()
              throws java.io.IOException
Shut down all of the connections.

Throws:
java.io.IOException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object