docs: private void sendEvent(Address subscriber, EventEnvelope eventEnvelope, int orderKey) {
          String serviceName = eventEnvelope.getServiceName();
          EventServiceSegment segment = getSegment(serviceName, true);
          boolean sync = segment.incrementPublish() % eventSyncFrequency == 0;
  
          if (sync) {
              SendEventOperation op = new SendEventOperation(eventEnvelope, orderKey);
              Future f = nodeEngine.getOperationService()
                      .createInvocationBuilder(serviceName, op, subscriber)
                      .setTryCount(SEND_RETRY_COUNT).invoke();
              try {
                  f.get(sendEventSyncTimeoutMillis, MILLISECONDS);
              } catch (Exception e) {
                  syncDeliveryFailureCount.inc();
                  if (logger.isFinestEnabled()) {
                      logger.finest("Sync event delivery failed. Event: " + eventEnvelope, e);
                  }
              }
          } else {
              Packet packet = new Packet(serializationService.toBytes(eventEnvelope), orderKey)
                      .setPacketType(Packet.Type.EVENT);
  
              EndpointManager em = nodeEngine.getNode().getNetworkingService().getEndpointManager(MEMBER);
              if (!em.transmit(packet, subscriber)) {
                  if (nodeEngine.isRunning()) {
                      logFailure("Failed to send event packet to: %s, connection might not be alive.", subscriber);
                  }
              }
          }
      }