Class DefaultShardManager

java.lang.Object
com.mewna.catnip.shard.manager.AbstractShardManager
com.mewna.catnip.shard.manager.DefaultShardManager
All Implemented Interfaces:
ShardManager

public class DefaultShardManager extends AbstractShardManager
Since:
8/15/18.
Author:
amy
  • Constructor Details

    • DefaultShardManager

      public DefaultShardManager()
    • DefaultShardManager

      public DefaultShardManager(@Nonnegative int customShardCount)
    • DefaultShardManager

      public DefaultShardManager(IntStream shardIds)
    • DefaultShardManager

      public DefaultShardManager(Iterable<Integer> shardIds)
    • DefaultShardManager

      public DefaultShardManager(@Nonnegative int shardCount, Collection<Integer> shardIds)
  • Method Details

    • shardIds

      public Collection<Integer> shardIds()
      Returns:
      The collection of shard ids owned by this shard manager instance.
    • start

      public void start()
      Description copied from interface: ShardManager
      Starts booting shards.
    • addToConnectQueue

      public void addToConnectQueue(@Nonnegative int shard)
      Description copied from interface: ShardManager
      Adds the given shard id to the connect queue.
      Parameters:
      shard - The shard id to add.
    • shard

      @Nonnull public CatnipShard shard(int shard)
      Description copied from interface: ShardManager
      Fetches a shard.
      Parameters:
      shard - The id of the shard to fetch.
      Returns:
      The shard, if it exists, otherwise it throws a NullPointerException.
    • shutdown

      public void shutdown()
      Description copied from interface: ShardManager
      Shuts down all shards.
    • shardCount

      public int shardCount()
      Returns:
      The number of shards this shard manager owns.
    • connectQueue

      public QueueTask<Integer> connectQueue()