private void prepareForAsyncClose() {
    synchronized (stateLock) {
      if (readerThread != null && isRunning && !readerShuttingDown
          && (connectionState == STATE_READING || connectionState == STATE_READING_ACK)) {
        readerThread.interrupt();
      }
    }
  }
asynchronously close this connection

@param beingSickForTests test hook to simulate sickness in communications & membership
geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java