code: @Override
  	protected void onClosed() {
  		assert promise == null;
  		if (pool == client.poolKeepAlive) {
  			AddressLinkedList addresses = client.addresses.get(remoteAddress);
  			addresses.removeNode(this);
  			if (addresses.isEmpty()) {
  				client.addresses.remove(remoteAddress);
  			}
  		}
  
  		// pool will be null if socket was closed by the value just before connection.send() invocation
  		// (eg. if connection was in open(null) or taken(null) states)
  		pool.removeNode(this);
  		pool = null;
  
  		client.onConnectionClosed();
  		if (response != null) {
  			response.recycle();
  			response = null;
  		}
  	}
docs: After closing this connection it removes it from its connections cache and recycles
  Http response.