本文整理汇总了Java中org.threadly.concurrent.future.ListenableFuture.addCallback方法的典型用法代码示例。如果您正苦于以下问题:Java ListenableFuture.addCallback方法的具体用法?Java ListenableFuture.addCallback怎么用?Java ListenableFuture.addCallback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.threadly.concurrent.future.ListenableFuture
的用法示例。
在下文中一共展示了ListenableFuture.addCallback方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: connect
import org.threadly.concurrent.future.ListenableFuture; //导入方法依赖的package包/类
public ListenableFuture<?> connect() {
connectCalled = true;
log.info("Connecting to:{}", host);
ListenableFuture<?> lf = client.connect();
lf.addCallback(new FutureCallback<Object>() {
@Override
public void handleResult(Object result) {
log.info("Connected to:{}", host);
}
@Override
public void handleFailure(Throwable t) {
}
});
return lf;
}
示例2: addProgressFutureTest
import org.threadly.concurrent.future.ListenableFuture; //导入方法依赖的package包/类
@Test
public void addProgressFutureTest() throws InterruptedException, TimeoutException {
SequentialScriptBuilder builder = new SequentialScriptBuilder();
builder.addStep(new TestStep());
builder.addStep(new TestStep());
ListenableFuture<Double> future = builder.addProgressFuture();
builder.addStep(new TestStep());
builder.addStep(new TestStep());
builder.build().startScript();
final AsyncVerifier av = new AsyncVerifier();
future.addCallback(new FutureCallback<Double>() {
@Override
public void handleResult(Double result) {
av.assertEquals(50., result);
av.signalComplete();
}
@Override
public void handleFailure(Throwable t) {
av.fail(t);
}
});
av.waitForTest();
}
示例3: connect
import org.threadly.concurrent.future.ListenableFuture; //导入方法依赖的package包/类
public ListenableFuture<Boolean> connect() {
ListenableFuture<Boolean> lf = client.connect();
lf.addCallback(new FutureCallback<Boolean>(){
@Override
public void handleResult(Boolean result) {
isConnected = true;
}
@Override
public void handleFailure(Throwable t) {
isConnected = false;
}});
return lf;
}
示例4: chunkRecvTest
import org.threadly.concurrent.future.ListenableFuture; //导入方法依赖的package包/类
@Test
public void chunkRecvTest() throws IOException, InterruptedException, ExecutionException {
final int port = PortUtils.findTCPPort();
final int number = 300;
fakeServer = new FakeHTTPStreamingServer(port, RESPONSE_CHUNKED, "", number, false, true);
final HTTPRequestBuilder hrb = new HTTPRequestBuilder(new URL("http://localhost/dl.php"));//.setChunked();
final HTTPStreamClient hsc = new HTTPStreamClient(SEI, "localhost", port);
final AtomicBoolean set = new AtomicBoolean(false);
final ReuseableMergedByteBuffers mbb = new ReuseableMergedByteBuffers();
hsc.setHTTPStreamReader(new HTTPStreamReader() {
@Override
public void handle(ByteBuffer bb) {
mbb.add(bb);
}});
hsc.connect();
final ListenableFuture<HTTPResponse> lf = hsc.writeRequest(hrb.build());
lf.addCallback(new FutureCallback<HTTPResponse>() {
@Override
public void handleResult(HTTPResponse result) {
set.set(true);
}
@Override
public void handleFailure(Throwable t) {
// TODO Auto-generated method stub
}});
new TestCondition(){
@Override
public boolean get() {
return mbb.remaining() == (number*1024) && set.get();
}
}.blockTillTrue(5000);
assertEquals("chunked", lf.get().getHeaders().getHeader(HTTPConstants.HTTP_KEY_TRANSFER_ENCODING));
hsc.close();
}
示例5: CLRecvTest
import org.threadly.concurrent.future.ListenableFuture; //导入方法依赖的package包/类
@Test
public void CLRecvTest() throws IOException, InterruptedException, ExecutionException {
final int port = PortUtils.findTCPPort();
fakeServer = new FakeHTTPStreamingServer(port, HTTPClientTests.RESPONSE_HUGE, HTTPClientTests.LARGE_CONTENT, 0, false, false);
final HTTPRequestBuilder hrb = new HTTPRequestBuilder(new URL("http://localhost/dl.php"));//.setChunked();
final HTTPStreamClient hsc = new HTTPStreamClient(SEI, "localhost", port);
final AtomicBoolean set = new AtomicBoolean(false);
final AtomicInteger count = new AtomicInteger(0);
final ReuseableMergedByteBuffers mbb = new ReuseableMergedByteBuffers();
hsc.setHTTPStreamReader(new HTTPStreamReader() {
@Override
public void handle(ByteBuffer bb) {
mbb.add(bb);
}});
hsc.connect();
final ListenableFuture<HTTPResponse> lf = hsc.writeRequest(hrb.build());
lf.addCallback(new FutureCallback<HTTPResponse>() {
@Override
public void handleResult(HTTPResponse result) {
set.set(true);
count.addAndGet(Integer.parseInt(result.getHeaders().getHeader(HTTPConstants.HTTP_KEY_CONTENT_LENGTH)));
}
@Override
public void handleFailure(Throwable t) {
// TODO Auto-generated method stub
}});
new TestCondition(){
@Override
public boolean get() {
return mbb.remaining() == count.get() && set.get();
}
}.blockTillTrue(5000);
hsc.close();
}