Package net.dv8tion.jda.api.sharding
Interface ThreadPoolProvider<T extends ExecutorService>
- Type Parameters:
T- The type of executor
- All Known Implementing Classes:
ThreadPoolProvider.LazySharedProvider
public interface ThreadPoolProvider<T extends ExecutorService>
Called by
Every time a JDA instance is built, the manager will first call
DefaultShardManager when building a JDA instance.
Every time a JDA instance is built, the manager will first call
provide(int) followed by
a call to shouldShutdownAutomatically(int).-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final class -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends ExecutorService>
ThreadPoolProvider.LazySharedProvider<T>lazy(IntFunction<T> init) Provider that initializes with ashard_totaland provides the same pool to share between shards.provide(int shardId) Provides an instance of the specified executor, or nulldefault booleanshouldShutdownAutomatically(int shardId) Whether the previously provided executor should be shutdown byJDA.shutdown().
-
Method Details
-
provide
Provides an instance of the specified executor, or null- Parameters:
shardId- The current shard id- Returns:
- The Executor Service
-
shouldShutdownAutomatically
default boolean shouldShutdownAutomatically(int shardId) Whether the previously provided executor should be shutdown byJDA.shutdown().- Parameters:
shardId- The current shard id- Returns:
- True, if the executor should be shutdown by JDA
-
lazy
@Nonnull static <T extends ExecutorService> ThreadPoolProvider.LazySharedProvider<T> lazy(@Nonnull IntFunction<T> init) Provider that initializes with ashard_totaland provides the same pool to share between shards.- Type Parameters:
T- The type of executor- Parameters:
init- Function to initialize the shared pool, called with the shard total- Returns:
- The lazy pool provider
-