Skip to content

Instantly share code, notes, and snippets.

@minisu
Last active August 29, 2015 13:59
Show Gist options
  • Save minisu/10738600 to your computer and use it in GitHub Desktop.
Save minisu/10738600 to your computer and use it in GitHub Desktop.
class RequestRunnerExecutor
{
private final Set<HttpWebResponse> runningRequests = new HashSet<>();
public ListenableFuture<Boolean> runRequest( URI uri )
{
final Future<HttpWebResponse> futureResponse = httpClient.execute(
HttpAsyncMethods.createGet( uri ),
new ByteConsumer(),
new ResponseCallback()
);
runningRequests.add( futureResponse );
result.addListener( new Runnable()
{
@Override
public void run()
{
runningRequests.remove( futureResponse );
}
} );
return result;
}
}
//////////////////////////////////////////////////////////
class RequestRunnerExecutor
{
private final Set<HttpWebResponse> runningRequests = Sets.newConcurrentHashSet();
public ListenableFuture<Boolean> runRequest( URI uri )
{
final Future<HttpWebResponse> futureResponse = httpClient.execute(
HttpAsyncMethods.createGet( uri ),
new ByteConsumer(),
new ResponseCallback()
);
runningRequests.add( futureResponse );
result.addListener( new Runnable()
{
@Override
public void run()
{
runningRequests.remove( futureResponse );
}
} );
return result;
}
}
//////////////////////////////////////////////////////////
class RequestRunnerExecutor
{
private final Set<HttpWebResponse> runningRequests = newSetFromMap( new ConcurrentHashMap<>() );
public ListenableFuture<Boolean> runRequest( URI uri )
{
final Future<HttpWebResponse> futureResponse = httpClient.execute(
HttpAsyncMethods.createGet( uri ),
new ByteConsumer(),
new ResponseCallback()
);
runningRequests.add( futureResponse );
result.addListener( new Runnable()
{
@Override
public void run()
{
runningRequests.remove( futureResponse );
}
} );
return result;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment