All Downloads are FREE. Search and download functionalities are using the official Maven repository.

netflix.ocelli.rxnetty.MetricAwareClientHolder Maven / Gradle / Ivy

There is a newer version: 0.1.0-rc.2
Show newest version
package netflix.ocelli.rxnetty;

import io.reactivex.netty.client.ClientMetricsEvent;
import io.reactivex.netty.client.RxClient;
import io.reactivex.netty.metrics.MetricEventsListener;
import netflix.ocelli.LoadBalancer;

/**
 * A composite for any {@link RxClient} and set of metrics required by {@link LoadBalancer}.
 *
 * @author Nitesh Kant
 */
public class MetricAwareClientHolder, L extends MetricEventsListener>> {

    private final T client;
    private final L listener;

    public MetricAwareClientHolder(T client, L listener) {
        this.client = client;
        this.listener = listener;
        this.client.subscribe(listener);
    }

    public T getClient() {
        return client;
    }

    public L getListener() {
        return listener;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy