Class DefaultNodeServerProvider

java.lang.Object
eu.cloudnetservice.node.impl.cluster.defaults.DefaultNodeServerProvider
All Implemented Interfaces:
eu.cloudnetservice.driver.network.protocol.PacketSender, eu.cloudnetservice.node.cluster.NodeServerProvider, Closeable, AutoCloseable

@Singleton @Provides(eu.cloudnetservice.node.cluster.NodeServerProvider.class) public class DefaultNodeServerProvider extends Object implements eu.cloudnetservice.node.cluster.NodeServerProvider
  • Field Details

    • dataSyncRegistry

      private final eu.cloudnetservice.node.cluster.sync.DataSyncRegistry dataSyncRegistry
    • localNode

      private final eu.cloudnetservice.node.cluster.LocalNodeServer localNode
    • nodeServers

      private final Collection<eu.cloudnetservice.node.cluster.NodeServer> nodeServers
    • cloudServiceFactoryAllocator

      private final eu.cloudnetservice.driver.network.rpc.factory.RPCImplementationBuilder.InstanceAllocator<eu.cloudnetservice.driver.provider.CloudServiceFactory> cloudServiceFactoryAllocator
    • headNode

      private volatile eu.cloudnetservice.node.cluster.NodeServer headNode
  • Constructor Details

    • DefaultNodeServerProvider

      @Inject public DefaultNodeServerProvider(@NonNull @NonNull eu.cloudnetservice.node.cluster.LocalNodeServer localNode, @NonNull @NonNull eu.cloudnetservice.node.cluster.sync.DataSyncRegistry dataSyncRegistry, @NonNull @NonNull eu.cloudnetservice.driver.network.rpc.factory.RPCFactory rpcFactory)
  • Method Details

    • finishConstruction

      @Inject private void finishConstruction(@NonNull @NonNull eu.cloudnetservice.driver.event.EventManager eventManager)
    • nodeServers

      @NonNull public @NonNull Collection<eu.cloudnetservice.node.cluster.NodeServer> nodeServers()
      Specified by:
      nodeServers in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • availableNodeServers

      @NonNull public @NonNull Collection<eu.cloudnetservice.node.cluster.NodeServer> availableNodeServers()
      Specified by:
      availableNodeServers in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • connectedNodeChannels

      @NonNull public @NonNull Collection<eu.cloudnetservice.driver.network.NetworkChannel> connectedNodeChannels()
      Specified by:
      connectedNodeChannels in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • headNode

      @NonNull public @NonNull eu.cloudnetservice.node.cluster.NodeServer headNode()
      Specified by:
      headNode in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • localNode

      @NonNull public @NonNull eu.cloudnetservice.node.cluster.LocalNodeServer localNode()
      Specified by:
      localNode in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • node

      @Nullable public @Nullable eu.cloudnetservice.node.cluster.NodeServer node(@NonNull @NonNull String uniqueId)
      Specified by:
      node in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • node

      @Nullable public @Nullable eu.cloudnetservice.node.cluster.NodeServer node(@NonNull @NonNull eu.cloudnetservice.driver.network.NetworkChannel channel)
      Specified by:
      node in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • syncDataIntoCluster

      public void syncDataIntoCluster()
      Specified by:
      syncDataIntoCluster in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • registerNodes

      public void registerNodes(@NonNull @NonNull eu.cloudnetservice.driver.cluster.NetworkCluster cluster)
      Specified by:
      registerNodes in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • registerNode

      public void registerNode(@NonNull @NonNull eu.cloudnetservice.driver.cluster.NetworkClusterNode clusterNode)
      Specified by:
      registerNode in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • unregisterNode

      public void unregisterNode(@NonNull @NonNull String uniqueId)
      Specified by:
      unregisterNode in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • selectHeadNode

      public void selectHeadNode()
      Specified by:
      selectHeadNode in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • deployTemplateToCluster

      @NonNull public @NonNull CompletableFuture<eu.cloudnetservice.driver.network.chunk.TransferStatus> deployTemplateToCluster(@NonNull @NonNull eu.cloudnetservice.driver.service.ServiceTemplate template, @NonNull @NonNull InputStream stream, boolean overwrite)
      Specified by:
      deployTemplateToCluster in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • deployStaticServiceToCluster

      @NonNull public @NonNull CompletableFuture<eu.cloudnetservice.driver.network.chunk.TransferStatus> deployStaticServiceToCluster(@NonNull @NonNull String name, @NonNull @NonNull InputStream stream, boolean overwrite)
      Specified by:
      deployStaticServiceToCluster in interface eu.cloudnetservice.node.cluster.NodeServerProvider
    • sendPacket

      public void sendPacket(@NonNull @NonNull eu.cloudnetservice.driver.network.protocol.Packet packet)
      Specified by:
      sendPacket in interface eu.cloudnetservice.driver.network.protocol.PacketSender
    • sendPacketSync

      public void sendPacketSync(@NonNull @NonNull eu.cloudnetservice.driver.network.protocol.Packet packet)
      Specified by:
      sendPacketSync in interface eu.cloudnetservice.driver.network.protocol.PacketSender
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface eu.cloudnetservice.node.cluster.NodeServerProvider