private boolean useSyncWrites(boolean forceAsync) {
    if (forceAsync) {
      return false;
    }
    // only use sync writes if:
    // we are already queuing
    if (asyncQueuingInProgress) {
      // it will just tack this msg onto the outgoing queue
      return true;
    }
    // or we are a receiver
    if (isReceiver) {
      return true;
    }
    // or we are an unordered connection
    if (!preserveOrder) {
      return true;
    }

    // or the receiver does not allow queuing
    // OTHERWISE return false and let caller send async
    return asyncDistributionTimeout == 0;
  }
Return false if socket writes to be done async/nonblocking Return true if socket writes to be
done sync/blocking
geode-core/src/main/java/org/apache/geode/internal/tcp/Connection.java