private void subscribe(Subscription subscription) { //can't be off but might be inactive: to check that we have to synchronize, we probably don't want to do that //we might want to introduce a method shouldSend to the RequestTutor, better relay on the batch algorithm to abort //useless requests log.Info("Preparing subscription: " + subscription.SubscriptionId); SubscribeRequest request = subscription.generateSubscribeRequest(); log.Debug("Preparing subscription 2: " + request + ", " + subscription.getPhase() + ", " + sessionThread.SessionManager.SessionId + ", " + this.options); try { SubscribeTutor tutor = new SubscribeTutor(this, subscription.SubscriptionId, subscription.getPhase(), sessionThread, 0); log.Debug("Preparing subscription 3: " + tutor.session.SessionId); manager.sendSubscription(request, tutor); log.Debug("Preparing subscription 4."); } catch (Exception e) { log.Error("Something wrong in Subscription preparation: " + e.Message); log.Debug(e.StackTrace); } }
private void resubscribe(Subscription subscription, long timeoutMs) { log.Info("Preparing to send subscription again: " + subscription.SubscriptionId); SubscribeRequest request = subscription.generateSubscribeRequest(); SubscribeTutor tutor = new SubscribeTutor(this, subscription.SubscriptionId, subscription.getPhase(), sessionThread, timeoutMs); manager.sendSubscription(request, tutor); }