当前位置: 首页>>代码示例>>Java>>正文


Java ListenableFuture.addCallback方法代码示例

本文整理汇总了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;
}
 
开发者ID:lwahlmeier,项目名称:sc2-java-api,代码行数:19,代码来源:BaseSC2Client.java

示例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();
}
 
开发者ID:threadly,项目名称:ambush,代码行数:27,代码来源:AbstractScriptBuilderTest.java

示例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;
}
 
开发者ID:threadly,项目名称:litesockets-http,代码行数:15,代码来源:HTTPStreamClient.java

示例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();
}
 
开发者ID:threadly,项目名称:litesockets-http,代码行数:41,代码来源:HTTPStreamClientTest.java

示例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();
}
 
开发者ID:threadly,项目名称:litesockets-http,代码行数:41,代码来源:HTTPStreamClientTest.java


注:本文中的org.threadly.concurrent.future.ListenableFuture.addCallback方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。