code: @Override
      public void onSubscribe(Subscription subscription) {
          this.subscription = subscription;
          if (cancelled) {
              subscription.cancel();
              return;
          }
          if (deferredInitialMessageRequest > 0) {
              request(deferredInitialMessageRequest);
          }
      }
docs: Must be called from the IO thread.