anchor.diff:      _state = stopped;
     }
   
  -  //FIXME just here for testing. Figure out a better way.
  -  List<PooledConnection> getConnections() => _connections;
   }
   
  
positive.code: }
  
  
  //FIXME consistent use of pconn and conn.
  class PoolImpl implements Pool {
  
    PoolImpl(this.databaseUri,
  
negative.code:       'Connect timeout exceeded: ${settings.connectionTimeout}.',
            settings.connectionTimeout);
  
      PooledConnection pconn = _getFirstAvailable();
  
      // If there are currently no available connections then
      // add the current connection request at the end of the
      // wait queue.
      if (pconn == null) {
        var c = new Completer();
        _waitQueue.add(c);
        pconn = await c.future.timeout(timeout); //FIXME, onTimeout: onTimeout);
        _waitQueue.remove(c);
      }
  
      if (!await _testConnection(pconn).timeout(timeout - stopwatch.elapsed)) { //FIXME, onTimeout: onTimeout)) {
        _destroyConnection(pconn);
        // Get another connection out of the pool and test again.
        return _connect(timeout - stopwatch.elapsed);
      }
  
      return pconn;
    }
  
    List<PooledConnection> _getAvailable()
  