package com.lambdaworks.redis.protocol; import com.lambdaworks.redis.event.DefaultEventPublisherOptions; import com.lambdaworks.redis.event.EventBus; import com.lambdaworks.redis.event.EventPublisherOptions; import com.lambdaworks.redis.metrics.CommandLatencyCollector; import com.lambdaworks.redis.resource.ClientResources; import com.lambdaworks.redis.resource.Delay; import com.lambdaworks.redis.resource.DnsResolver; import com.lambdaworks.redis.resource.EventLoopGroupProvider; import io.netty.util.concurrent.*; import java.util.concurrent.TimeUnit; /** * @author Mark Paluch */ public class EmptyClientResources implements ClientResources { public static final DefaultEventPublisherOptions PUBLISHER_OPTIONS = DefaultEventPublisherOptions.disabled(); public static final EmptyClientResources INSTANCE = new EmptyClientResources(); @Override public Future<Boolean> shutdown() { return new SucceededFuture<>(GlobalEventExecutor.INSTANCE, true); } @Override public Future<Boolean> shutdown(long quietPeriod, long timeout, TimeUnit timeUnit) { return new SucceededFuture<>(GlobalEventExecutor.INSTANCE, true); } @Override public EventLoopGroupProvider eventLoopGroupProvider() { return null; } @Override public EventExecutorGroup eventExecutorGroup() { return null; } @Override public int ioThreadPoolSize() { return 0; } @Override public int computationThreadPoolSize() { return 0; } @Override public EventBus eventBus() { return null; } @Override public EventPublisherOptions commandLatencyPublisherOptions() { return PUBLISHER_OPTIONS; } @Override public CommandLatencyCollector commandLatencyCollector() { return null; } @Override public DnsResolver dnsResolver() { return null; } @Override public Delay reconnectDelay() { return null; } }