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

com.netflix.exhibitor.core.RemoteConnectionConfiguration Maven / Gradle / Ivy

package com.netflix.exhibitor.core;

import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.sun.jersey.api.client.filter.ClientFilter;
import java.util.Collection;

public class RemoteConnectionConfiguration
{
    private final Collection filters;
    private final int connectionTimeoutMs;
    private final int readTimeoutMs;

    private static final int DEFAULT_CONNECTION_TIMEOUT_MS = 10000;
    private static final int DEFAULT_READ_TIMEOUT_MS = 3000;

    public RemoteConnectionConfiguration()
    {
        this(Lists.newArrayList(), DEFAULT_CONNECTION_TIMEOUT_MS, DEFAULT_READ_TIMEOUT_MS);
    }

    public RemoteConnectionConfiguration(Collection filters)
    {
        this(filters, DEFAULT_CONNECTION_TIMEOUT_MS, DEFAULT_READ_TIMEOUT_MS);
    }

    public RemoteConnectionConfiguration(Collection filters, int connectionTimeoutMs, int readTimeoutMs)
    {
        this.filters = ImmutableList.copyOf(Preconditions.checkNotNull(filters, "filters cannot be null"));
        this.connectionTimeoutMs = connectionTimeoutMs;
        this.readTimeoutMs = readTimeoutMs;
    }

    public Collection getFilters()
    {
        return filters;
    }

    public int getConnectionTimeoutMs()
    {
        return connectionTimeoutMs;
    }

    public int getReadTimeoutMs()
    {
        return readTimeoutMs;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy