com.king.platform.net.http.netty.backpressure.BlockingBackPressure Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of king-http-client Show documentation
Show all versions of king-http-client Show documentation
A asyncronous http client built ontop of netty.
// Copyright (C) king.com Ltd 2015
// https://github.com/king/king-http-client
// Author: Magnus Gustafsson
// License: Apache 2.0, https://raw.github.com/king/king-http-client/LICENSE-APACHE
package com.king.platform.net.http.netty.backpressure;
import com.king.platform.net.http.netty.ServerInfo;
import java.util.concurrent.Semaphore;
public class BlockingBackPressure implements BackPressure {
private final Semaphore currentParallelConnections;
public BlockingBackPressure(int maxTotalParallelConnections) {
currentParallelConnections = new Semaphore(maxTotalParallelConnections);
}
@Override
public boolean acquireSlot(ServerInfo serverInfo) {
currentParallelConnections.acquireUninterruptibly();
return true;
}
@Override
public void releaseSlot(ServerInfo serverInfo) {
currentParallelConnections.release();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy