本文整理了Java中io.vertx.core.Future.tryComplete()
方法的一些代码示例,展示了Future.tryComplete()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Future.tryComplete()
方法的具体详情如下:
包路径:io.vertx.core.Future
类名称:Future
方法名:tryComplete
[英]Try to set the result. When it happens, any handler will be called, if there is one, and the future will be marked as completed.
[中]试着设定结果。当它发生时,将调用任何处理程序(如果有),并且未来将标记为已完成。
代码示例来源:origin: eclipse-vertx/vert.x
@Test
public void testSetResultOnCompletedFuture() {
ArrayList<Future<Object>> futures = new ArrayList<>();
futures.add(Future.succeededFuture());
futures.add(Future.succeededFuture());
futures.add(Future.succeededFuture(new Object()));
futures.add(Future.succeededFuture(new Object()));
futures.add(Future.failedFuture(new Exception()));
futures.add(Future.failedFuture(new Exception()));
for (Future<Object> future : futures) {
try {
future.complete(new Object());
fail();
} catch (IllegalStateException ignore) {
}
assertFalse(future.tryComplete(new Object()));
try {
future.complete(null);
fail();
} catch (IllegalStateException ignore) {
}
assertFalse(future.tryComplete(null));
try {
future.fail(new Exception());
fail();
} catch (IllegalStateException ignore) {
}
assertFalse(future.tryFail(new Exception()));
}
}
代码示例来源:origin: eclipse-vertx/vert.x
void handle(DnsResponse msg) {
DnsResponseCode code = DnsResponseCode.valueOf(msg.code().intValue());
if (code == DnsResponseCode.NOERROR) {
inProgressMap.remove(msg.id());
if (timerID >= 0) {
vertx.cancelTimer(timerID);
}
int count = msg.count(DnsSection.ANSWER);
List<T> records = new ArrayList<>(count);
for (int idx = 0;idx < count;idx++) {
DnsRecord a = msg.recordAt(DnsSection.ANSWER, idx);
T record = RecordDecoder.decode(a);
if (isRequestedType(a.type(), types)) {
records.add(record);
}
}
if (records.size() > 0 && (records.get(0) instanceof MxRecordImpl || records.get(0) instanceof SrvRecordImpl)) {
Collections.sort((List) records);
}
actualCtx.executeFromIO(v -> {
fut.tryComplete(records);
});
} else {
actualCtx.executeFromIO(new DnsException(code), this::fail);
}
}
代码示例来源:origin: vert-x3/vertx-web
@Override
public boolean tryComplete() {
return future.tryComplete();
}
代码示例来源:origin: vert-x3/vertx-web
@Override
public boolean tryComplete(Boolean result) {
return future.tryComplete(result);
}
代码示例来源:origin: vert-x3/vertx-web
@Override
public void end() {
if (stream instanceof AsyncFile) {
AsyncFile file = (AsyncFile) stream;
file.close(ar -> {
if (ar.succeeded()) {
fut.tryComplete();
} else {
fut.tryFail(ar.cause());
}
});
} else {
stream.end();
fut.tryComplete();
}
}
代码示例来源:origin: io.vertx/vertx-core
@Test
public void testSetResultOnCompletedFuture() {
ArrayList<Future<Object>> futures = new ArrayList<>();
futures.add(Future.succeededFuture());
futures.add(Future.succeededFuture());
futures.add(Future.succeededFuture(new Object()));
futures.add(Future.succeededFuture(new Object()));
futures.add(Future.failedFuture(new Exception()));
futures.add(Future.failedFuture(new Exception()));
for (Future<Object> future : futures) {
try {
future.complete(new Object());
fail();
} catch (IllegalStateException ignore) {
}
assertFalse(future.tryComplete(new Object()));
try {
future.complete(null);
fail();
} catch (IllegalStateException ignore) {
}
assertFalse(future.tryComplete(null));
try {
future.fail(new Exception());
fail();
} catch (IllegalStateException ignore) {
}
assertFalse(future.tryFail(new Exception()));
}
}
代码示例来源:origin: io.vertx/vertx-core
void handle(DnsResponse msg) {
DnsResponseCode code = DnsResponseCode.valueOf(msg.code().intValue());
if (code == DnsResponseCode.NOERROR) {
inProgressMap.remove(msg.id());
if (timerID >= 0) {
vertx.cancelTimer(timerID);
}
int count = msg.count(DnsSection.ANSWER);
List<T> records = new ArrayList<>(count);
for (int idx = 0;idx < count;idx++) {
DnsRecord a = msg.recordAt(DnsSection.ANSWER, idx);
T record = RecordDecoder.decode(a);
if (isRequestedType(a.type(), types)) {
records.add(record);
}
}
if (records.size() > 0 && (records.get(0) instanceof MxRecordImpl || records.get(0) instanceof SrvRecordImpl)) {
Collections.sort((List) records);
}
actualCtx.executeFromIO(v -> {
fut.tryComplete(records);
});
} else {
actualCtx.executeFromIO(new DnsException(code), this::fail);
}
}
代码示例来源:origin: io.vertx/vertx-rx-java
/**
* Try to set the result. When it happens, any handler will be called, if there is one, and the future will be marked as completed.
* @return false when the future is already completed
*/
public boolean tryComplete() {
boolean ret = delegate.tryComplete();
return ret;
}
代码示例来源:origin: vert-x3/vertx-rx
/**
* Try to set the result. When it happens, any handler will be called, if there is one, and the future will be marked as completed.
* @return false when the future is already completed
*/
public boolean tryComplete() {
boolean ret = delegate.tryComplete();
return ret;
}
代码示例来源:origin: io.vertx/vertx-web
@Override
public boolean tryComplete(Boolean result) {
return future.tryComplete(result);
}
代码示例来源:origin: io.vertx/vertx-tcp-eventbus-bridge
@Override
public boolean tryComplete() {
return future.tryComplete();
}
代码示例来源:origin: io.vertx/vertx-web
@Override
public boolean tryComplete() {
return future.tryComplete();
}
代码示例来源:origin: io.vertx/vertx-tcp-eventbus-bridge
@Override
public boolean tryComplete(Boolean result) {
return future.tryComplete(result);
}
代码示例来源:origin: vert-x3/vertx-tcp-eventbus-bridge
@Override
public boolean tryComplete(Boolean result) {
return future.tryComplete(result);
}
代码示例来源:origin: vert-x3/vertx-tcp-eventbus-bridge
@Override
public boolean tryComplete() {
return future.tryComplete();
}
代码示例来源:origin: io.vertx/vertx-rx-java
/**
* Set the failure. Any handler will be called, if there is one, and the future will be marked as completed.
* @param result the result
* @return false when the future is already completed
*/
public boolean tryComplete(T result) {
boolean ret = delegate.tryComplete(__typeArg_0.<T>unwrap(result));
return ret;
}
代码示例来源:origin: vert-x3/vertx-rx
/**
* Set the failure. Any handler will be called, if there is one, and the future will be marked as completed.
* @param result the result
* @return false when the future is already completed
*/
public boolean tryComplete(T result) {
boolean ret = delegate.tryComplete(__typeArg_0.<T>unwrap(result));
return ret;
}
代码示例来源:origin: io.vertx/vertx-lang-groovy
public static boolean tryComplete(io.vertx.core.Future<Object> j_receiver, java.lang.Object result) {
return j_receiver.tryComplete(io.vertx.core.impl.ConversionHelper.toObject(result));
}
public static java.lang.Object result(io.vertx.core.Future<Object> j_receiver) {
代码示例来源:origin: io.vertx/vertx-web-common
@Override
public void end() {
if (stream instanceof AsyncFile) {
AsyncFile file = (AsyncFile) stream;
file.close(ar -> {
if (ar.succeeded()) {
fut.tryComplete();
} else {
fut.tryFail(ar.cause());
}
});
} else {
stream.end();
fut.tryComplete();
}
}
代码示例来源:origin: vert-x3/vertx-service-discovery
private Future<String> getToken(Vertx vertx, JsonObject conf) {
Future<String> result = Future.future();
String token = conf.getString("token");
if (token != null && !token.trim().isEmpty()) {
result.complete(token);
return result;
}
// Read from file
vertx.fileSystem().readFile(OPENSHIFT_KUBERNETES_TOKEN_FILE, ar -> {
if (ar.failed()) {
result.tryFail(ar.cause());
} else {
result.tryComplete(ar.result().toString());
}
});
return result;
}
内容来源于网络,如有侵权,请联系作者删除!