code: protected IMessagePublication addAsynchronousPublication(MessagePublication publication, long timeout, TimeUnit unit) {
          try {
              return pendingMessages.offer(publication, timeout, unit)
                      ? publication.markScheduled()
                      : publication;
          } catch (InterruptedException e) {
              handlePublicationError(new InternalPublicationError(e, "Error while adding an asynchronous message publication", publication));
              return publication;
          }
      }
docs: this method queues a message delivery request