org.jivesoftware.smack.util.Async.go()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(7.5k)|赞(0)|评价(0)|浏览(139)

本文整理了Java中org.jivesoftware.smack.util.Async.go()方法的一些代码示例,展示了Async.go()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Async.go()方法的具体详情如下:
包路径:org.jivesoftware.smack.util.Async
类名称:Async
方法名:go

Async.go介绍

[英]Creates a new thread with the given Runnable, marks it daemon, starts it and returns the started thread.
[中]使用给定的Runnable创建一个新线程,将其标记为守护进程,启动它并返回已启动的线程。

代码示例

代码示例来源:origin: igniterealtime/Smack

void setOwner(final BareJid owner) {
  this.owner = owner;
  Async.go(new Runnable() {
    @Override
    public void run() {
      for (ThingStateChangeListener thingStateChangeListener : listeners) {
        thingStateChangeListener.owned(owner);
      }
    }
  });
}

代码示例来源:origin: igniterealtime/Smack

@Override
  public void processStanza(final Stanza packet) {
    Async.go(new Runnable() {
      @Override
      public void run() {
        try {
          getOmemoService().onOmemoMessageStanzaReceived(packet,
              new LoggedInOmemoManager(OmemoManager.this));
        } catch (SmackException.NotLoggedInException e) {
          LOGGER.warning("Received OMEMO stanza while being offline: " + e);
        }
      }
    });
  }
};

代码示例来源:origin: igniterealtime/Smack

@Override
  public void onCarbonCopyReceived(final CarbonExtension.Direction direction,
                   final Message carbonCopy,
                   final Message wrappingMessage) {
    Async.go(new Runnable() {
      @Override
      public void run() {
        if (omemoMessageStanzaFilter.accept(carbonCopy)) {
          try {
            getOmemoService().onOmemoCarbonCopyReceived(direction, carbonCopy, wrappingMessage,
                new LoggedInOmemoManager(OmemoManager.this));
          } catch (SmackException.NotLoggedInException e) {
            LOGGER.warning("Received OMEMO carbon copy while being offline: " + e);
          }
        }
      }
    });
  }
};

代码示例来源:origin: igniterealtime/Smack

/**
 * Initialize the manager without blocking. Once the manager is successfully initialized, the finishedCallback will
 * be notified. It will also get notified, if an error occurs.
 *
 * @param finishedCallback callback that gets called once the manager is initialized.
 */
public void initializeAsync(final InitializationFinishedCallback finishedCallback) {
  Async.go(new Runnable() {
    @Override
    public void run() {
      try {
        initialize();
        finishedCallback.initializationFinished(OmemoManager.this);
      } catch (Exception e) {
        finishedCallback.initializationFailed(e);
      }
    }
  });
}

代码示例来源:origin: igniterealtime/Smack

@Override
public void newIncomingMessage(final EntityBareJid from, final Message message, Chat chat) {
  Async.go(new Runnable() {
    @Override
    public void run() {

代码示例来源:origin: igniterealtime/Smack

/**
 * Initializes the reader in order to be used. The reader is initialized during the
 * first connection and when reconnecting due to an abruptly disconnection.
 */
void init() {
  done = false;
  Async.go(new Runnable() {
    @Override
    public void run() {
      parsePackets();
    }
  }, "Smack Reader (" + getConnectionCounter() + ")");
 }

代码示例来源:origin: igniterealtime/Smack

/**
 * Starts a reconnection mechanism if it was configured to do that.
 * The algorithm is been executed when the first connection error is detected.
 */
private synchronized void reconnect() {
  XMPPConnection connection = this.weakRefConnection.get();
  if (connection == null) {
    LOGGER.fine("Connection is null, will not reconnect");
    return;
  }
  // Since there is no thread running, creates a new one to attempt
  // the reconnection.
  // avoid to run duplicated reconnectionThread -- fd: 16/09/2010
  if (reconnectionThread != null && reconnectionThread.isAlive())
    return;
  reconnectionThread = Async.go(reconnectionRunnable,
          "Smack Reconnection Manager (" + connection.getConnectionCounter() + ')');
}

代码示例来源:origin: igniterealtime/Smack

if (mucs.isEmpty()) return;
Async.go(new Runnable() {
  @Override
  public void run() {

代码示例来源:origin: igniterealtime/Smack

@Override
  public void eventReceived(final EntityBareJid from, final EventElement event, final Message message) {
    if (PEP_NODE_PUBLIC_KEYS.equals(event.getEvent().getNode())) {
      final BareJid contact = from.asBareJid();
      LOGGER.log(Level.INFO, "Received OpenPGP metadata update from " + contact);
      Async.go(new Runnable() {
        @Override
        public void run() {
          ItemsExtension items = (ItemsExtension) event.getExtensions().get(0);
          PayloadItem<?> payload = (PayloadItem) items.getItems().get(0);
          PublicKeysListElement listElement = (PublicKeysListElement) payload.getPayload();
          processPublicKeysListElement(from, listElement);
        }
      }, "ProcessOXMetadata");
    }
  }
};

代码示例来源:origin: igniterealtime/Smack

Async.go(new Runnable() {
  @Override
  public void run() {

代码示例来源:origin: igniterealtime/Smack

/**
* Initializes the writer in order to be used. It is called at the first connection and also
* is invoked if the connection is disconnected by an error.
*/
void init() {
  shutdownDone.init();
  shutdownTimestamp = null;
  if (unacknowledgedStanzas != null) {
    // It's possible that there are new stanzas in the writer queue that
    // came in while we were disconnected but resumable, drain those into
    // the unacknowledged queue so that they get resent now
    drainWriterQueueToUnacknowledgedStanzas();
  }
  queue.start();
  Async.go(new Runnable() {
    @Override
    public void run() {
      writePackets();
    }
  }, "Smack Writer (" + getConnectionCounter() + ")");
}

代码示例来源:origin: igniterealtime/Smack

@Test(expected = TestException.class)
public void exceptionTestResultSyncPoint() throws Exception {
  final CyclicBarrier barrier = new CyclicBarrier(2);
  final ResultSyncPoint<String, TestException> rsp = new ResultSyncPoint<>();
  Async.go(new Async.ThrowingRunnable() {
    @Override
    public void runOrThrow() throws InterruptedException, BrokenBarrierException {
      barrier.await();
      rsp.signal(new TestException());
    }
  });
  barrier.await();
  rsp.waitForResult(60 * 1000);
}

代码示例来源:origin: igniterealtime/Smack

@Test
public void testResultSyncPoint() throws Exception {
  final String result = "Hip Hip Hurrary!!111!";
  final CyclicBarrier barrier = new CyclicBarrier(2);
  final ResultSyncPoint<String, Exception> rsp = new ResultSyncPoint<>();
  Async.go(new Async.ThrowingRunnable() {
    @Override
    public void runOrThrow() throws InterruptedException, BrokenBarrierException {
      barrier.await();
      rsp.signal(result);
    }
  });
  barrier.await();
  String receivedResult = rsp.waitForResult(60 * 1000);
  assertEquals(result, receivedResult);
}

代码示例来源:origin: igniterealtime/Smack

" Received: " + Arrays.toString(receivedDeviceList.copyDeviceIds().toArray()) +
    " Published: " + Arrays.toString(newDeviceList.copyDeviceIds().toArray()));
Async.go(new Runnable() {
  @Override
  public void run() {

代码示例来源:origin: org.igniterealtime.smack/smack-experimental

void setOwner(final BareJid owner) {
  this.owner = owner;
  Async.go(new Runnable() {
    @Override
    public void run() {
      for (ThingStateChangeListener thingStateChangeListener : listeners) {
        thingStateChangeListener.owned(owner);
      }
    }
  });
}

代码示例来源:origin: org.igniterealtime.smack/smack-core

/**
 * Starts a reconnection mechanism if it was configured to do that.
 * The algorithm is been executed when the first connection error is detected.
 */
private synchronized void reconnect() {
  XMPPConnection connection = this.weakRefConnection.get();
  if (connection == null) {
    LOGGER.fine("Connection is null, will not reconnect");
    return;
  }
  // Since there is no thread running, creates a new one to attempt
  // the reconnection.
  // avoid to run duplicated reconnectionThread -- fd: 16/09/2010
  if (reconnectionThread != null && reconnectionThread.isAlive())
    return;
  reconnectionThread = Async.go(reconnectionRunnable,
          "Smack Reconnection Manager (" + connection.getConnectionCounter() + ')');
}

代码示例来源:origin: org.igniterealtime.smack/smack-core

@Override
  public void run() {
    boolean removed = removeAsyncStanzaListener(packetListener);
    // If the packetListener got removed, then it was never run and
    // we never received a response, inform the exception callback
    if (removed && exceptionCallback != null) {
      Exception exception;
      if (!isConnected()) {
        // If the connection is no longer connected, throw a not connected exception.
        exception = new NotConnectedException(AbstractXMPPConnection.this, replyFilter);
      } else {
        exception = NoResponseException.newWith(AbstractXMPPConnection.this, replyFilter);
      }
      final Exception exceptionToProcess = exception;
      Async.go(new Runnable() {
        @Override
        public void run() {
          exceptionCallback.processException(exceptionToProcess);
        }
      });
    }
  }
}, timeout, TimeUnit.MILLISECONDS);

相关文章

微信公众号

最新文章

更多

Async类方法