Пример #1
0
  @Override
  public synchronized void watch(Folder folder, FolderObserver observer) {
    Preconditions.checkState(
        mailClientHandler.isLoggedIn(), "Can't execute command because client is not logged in");
    checkCurrentFolder(folder);
    Preconditions.checkState(
        mailClientHandler.idleRequested.compareAndSet(false, true), "Already idling...");

    // This MUST happen in the following order, otherwise send() may trigger a new mail event
    // before we've registered the folder observer.
    mailClientHandler.observe(observer);
    channel.write(sequence.incrementAndGet() + " idle\r\n");
  }