Package de.dytanic.cloudnet
Class CloudNet
- java.lang.Object
-
- de.dytanic.cloudnet.driver.CloudNetDriver
-
- de.dytanic.cloudnet.CloudNet
-
public final class CloudNet extends CloudNetDriver
-
-
Field Summary
-
Fields inherited from class de.dytanic.cloudnet.driver.CloudNetDriver
driverEnvironment, eventManager, logger, moduleProvider, packetQueryProvider, servicesRegistry, taskScheduler
-
-
Method Summary
-
Methods inherited from class de.dytanic.cloudnet.driver.CloudNetDriver
addGroup, addGroupConfiguration, addPermanentServiceTask, addServiceDeploymentToCloudService, addServiceDeploymentToCloudServiceAsync, addServiceRemoteInclusionToCloudService, addServiceRemoteInclusionToCloudServiceAsync, addServiceTemplateToCloudService, addServiceTemplateToCloudServiceAsync, addUser, addUserAsync, containsGroup, containsGroupAsync, containsUser, containsUser, containsUserAsync, containsUserAsync, createCloudService, createCloudService, createCloudService, createCloudService, createCloudService, createCloudService, createCloudServiceAsync, createCloudServiceAsync, createCloudServiceAsync, createCloudServiceAsync, createCloudServiceAsync, createCloudServiceAsync, deleteCloudService, deleteGroup, deleteGroup, deleteUser, deleteUser, deployResources, deployResources, getCachedLogMessagesFromService, getCachedLogMessagesFromServiceAsync, getCloudService, getCloudService, getCloudServiceByGroup, getCloudServiceByName, getCloudServiceByNameAsync, getCloudServices, getCloudServices, getCloudServicesAsync, getCloudServicesAsync, getCloudServicesAsync, getCloudServicesAsync, getCloudServicesByGroupAsync, getConsoleCommand, getConsoleCommandAsync, getConsoleCommands, getConsoleCommandsAsync, getDriverEnvironment, getEventManager, getGroup, getGroupAsync, getGroupConfiguration, getGroupConfigurationAsync, getGroupConfigurations, getGroupConfigurationsAsync, getGroups, getGroupsAsync, getLogger, getModuleProvider, getNode, getNodeAsync, getNodeInfoSnapshot, getNodeInfoSnapshotAsync, getNodeInfoSnapshots, getNodeInfoSnapshotsAsync, getNodes, getNodesAsync, getPacketQueryProvider, getPermanentServiceTasks, getPermanentServiceTasksAsync, getServicesAsUniqueId, getServicesAsUniqueIdAsync, getServicesCount, getServicesCountAsync, getServicesCountByGroup, getServicesCountByGroupAsync, getServicesCountByTask, getServicesCountByTaskAsync, getServicesRegistry, getServiceTask, getServiceTaskAsync, getStartedCloudServiceInfoSnapshotsAsync, getStartedCloudServices, getTaskScheduler, getUser, getUser, getUserAsync, getUserAsync, getUserByGroup, getUserByGroupAsync, getUsers, getUsersAsync, includeWaitingServiceInclusions, includeWaitingServiceTemplates, isGroupConfigurationPresent, isGroupConfigurationPresentAsync, isServiceTaskPresent, isServiceTaskPresentAsync, killCloudService, removeGroupConfiguration, removeGroupConfiguration, removePermanentServiceTask, removePermanentServiceTask, restartCloudService, runCommand, sendCallablePacket, sendCallablePacket, sendCallablePacketWithAsDriverSyncAPI, sendCallablePacketWithAsDriverSyncAPIWithNetworkConnector, sendChannelMessage, sendChannelMessage, sendChannelMessage, sendCommandLine, sendCommandLine, sendCommandLineAsync, sendCommandLineAsync, sendCommandLineToCloudService, sendCommandLineToCloudServiceAsync, setCloudServiceLifeCycle, setGroups, setInstance, setUsers, startCloudService, stopCloudService, updateGroup, updateUser
-
-
-
-
Field Detail
-
TPS
public static final int TPS
- See Also:
- Constant Field Values
-
RUNNING
public static volatile boolean RUNNING
-
instance
private static CloudNet instance
-
commandMap
private final ICommandMap commandMap
-
moduleDirectory
private final java.io.File moduleDirectory
-
config
private final IConfiguration config
-
configurationRegistry
private final IConfigurationRegistry configurationRegistry
-
cloudServiceManager
private final ICloudServiceManager cloudServiceManager
-
clusterNodeServerProvider
private final IClusterNodeServerProvider clusterNodeServerProvider
-
networkTaskScheduler
private final ITaskScheduler networkTaskScheduler
-
commandLineArguments
private final java.util.List<java.lang.String> commandLineArguments
-
commandLineProperties
private final Properties commandLineProperties
-
console
private final IConsole console
-
queuedConsoleLogHandler
private final QueuedConsoleLogHandler queuedConsoleLogHandler
-
consoleCommandSender
private final ConsoleCommandSender consoleCommandSender
-
processQueue
private final java.util.Queue<ITask<?>> processQueue
-
networkClient
private INetworkClient networkClient
-
networkServer
private INetworkServer networkServer
-
httpServer
private IHttpServer httpServer
-
permissionManagement
private IPermissionManagement permissionManagement
-
cloudServiceFactory
private CloudServiceFactory cloudServiceFactory
-
generalCloudServiceProvider
private GeneralCloudServiceProvider generalCloudServiceProvider
-
serviceTaskProvider
private ServiceTaskProvider serviceTaskProvider
-
groupConfigurationProvider
private GroupConfigurationProvider groupConfigurationProvider
-
permissionProvider
private PermissionProvider permissionProvider
-
nodeInfoProvider
private NodeInfoProvider nodeInfoProvider
-
messenger
private CloudMessenger messenger
-
defaultInstallation
private DefaultInstallation defaultInstallation
-
databaseProvider
private AbstractDatabaseProvider databaseProvider
-
lastNetworkClusterNodeInfoSnapshot
private volatile NetworkClusterNodeInfoSnapshot lastNetworkClusterNodeInfoSnapshot
-
currentNetworkClusterNodeInfoSnapshot
private volatile NetworkClusterNodeInfoSnapshot currentNetworkClusterNodeInfoSnapshot
-
-
Method Detail
-
getInstance
public static CloudNet getInstance()
-
start
public void start() throws java.lang.Exception
- Specified by:
start
in classCloudNetDriver
- Throws:
java.lang.Exception
-
setNetworkListeners
private void setNetworkListeners()
-
reload
public void reload()
-
stop
public void stop()
- Specified by:
stop
in classCloudNetDriver
-
getPermissionProvider
public PermissionProvider getPermissionProvider()
- Specified by:
getPermissionProvider
in classCloudNetDriver
-
getCloudServiceFactory
public CloudServiceFactory getCloudServiceFactory()
- Specified by:
getCloudServiceFactory
in classCloudNetDriver
-
getServiceTaskProvider
public ServiceTaskProvider getServiceTaskProvider()
- Specified by:
getServiceTaskProvider
in classCloudNetDriver
-
getNodeInfoProvider
public NodeInfoProvider getNodeInfoProvider()
- Specified by:
getNodeInfoProvider
in classCloudNetDriver
-
getGroupConfigurationProvider
public GroupConfigurationProvider getGroupConfigurationProvider()
- Specified by:
getGroupConfigurationProvider
in classCloudNetDriver
-
getCloudServiceProvider
public SpecificCloudServiceProvider getCloudServiceProvider(java.lang.String name)
Description copied from class:CloudNetDriver
Returns a new service specific CloudServiceProvider- Specified by:
getCloudServiceProvider
in classCloudNetDriver
- Parameters:
name
- the name of the service- Returns:
- the new instance of the
SpecificCloudServiceProvider
-
getCloudServiceProvider
public SpecificCloudServiceProvider getCloudServiceProvider(java.util.UUID uniqueId)
Description copied from class:CloudNetDriver
Returns a new service specific CloudServiceProvider- Specified by:
getCloudServiceProvider
in classCloudNetDriver
- Parameters:
uniqueId
- the uniqueId of the service- Returns:
- the new instance of the
SpecificCloudServiceProvider
-
getCloudServiceProvider
public SpecificCloudServiceProvider getCloudServiceProvider(ServiceInfoSnapshot serviceInfoSnapshot)
Description copied from class:CloudNetDriver
Returns a new service specific CloudServiceProvider- Specified by:
getCloudServiceProvider
in classCloudNetDriver
- Parameters:
serviceInfoSnapshot
- the info of the service to create a provider for- Returns:
- the new instance of the
SpecificCloudServiceProvider
-
getCloudServiceProvider
public GeneralCloudServiceProvider getCloudServiceProvider()
Description copied from class:CloudNetDriver
Returns the general CloudServiceProvider- Specified by:
getCloudServiceProvider
in classCloudNetDriver
- Returns:
- the instance of the
GeneralCloudServiceProvider
-
getMessenger
public CloudMessenger getMessenger()
- Specified by:
getMessenger
in classCloudNetDriver
-
getCloudServiceByNameOrUniqueId
public ServiceInfoSnapshot getCloudServiceByNameOrUniqueId(java.lang.String argument)
-
getLocalTemplateStorageTemplates
public java.util.Collection<ServiceTemplate> getLocalTemplateStorageTemplates()
- Specified by:
getLocalTemplateStorageTemplates
in classCloudNetDriver
-
getTemplateStorageTemplates
public java.util.Collection<ServiceTemplate> getTemplateStorageTemplates(java.lang.String serviceName)
- Specified by:
getTemplateStorageTemplates
in classCloudNetDriver
-
sendCommandLineAsPermissionUser
public Pair<java.lang.Boolean,java.lang.String[]> sendCommandLineAsPermissionUser(java.util.UUID uniqueId, java.lang.String commandLine)
- Specified by:
sendCommandLineAsPermissionUser
in classCloudNetDriver
-
getLocalTemplateStorageTemplatesAsync
public ITask<java.util.Collection<ServiceTemplate>> getLocalTemplateStorageTemplatesAsync()
- Specified by:
getLocalTemplateStorageTemplatesAsync
in classCloudNetDriver
-
getTemplateStorageTemplatesAsync
public ITask<java.util.Collection<ServiceTemplate>> getTemplateStorageTemplatesAsync(java.lang.String serviceName)
- Specified by:
getTemplateStorageTemplatesAsync
in classCloudNetDriver
-
sendCommandLineAsPermissionUserAsync
public ITask<Pair<java.lang.Boolean,java.lang.String[]>> sendCommandLineAsPermissionUserAsync(java.util.UUID uniqueId, java.lang.String commandLine)
- Specified by:
sendCommandLineAsPermissionUserAsync
in classCloudNetDriver
-
runTask
public <T> ITask<T> runTask(java.util.concurrent.Callable<T> runnable)
-
runTask
public ITask<?> runTask(java.lang.Runnable runnable)
-
isMainThread
public boolean isMainThread()
-
deployTemplateInCluster
public void deployTemplateInCluster(ServiceTemplate serviceTemplate, byte[] resource)
-
updateServiceTasksInCluster
public void updateServiceTasksInCluster(java.util.Collection<ServiceTask> serviceTasks, NetworkUpdateType updateType)
-
updateGroupConfigurationsInCluster
public void updateGroupConfigurationsInCluster(java.util.Collection<GroupConfiguration> groupConfigurations, NetworkUpdateType updateType)
-
sendAll
public void sendAll(IPacket packet)
-
sendAll
public void sendAll(IPacket... packets)
-
createClusterNodeInfoSnapshot
public NetworkClusterNodeInfoSnapshot createClusterNodeInfoSnapshot()
-
getValidClusterNodeServers
public java.util.Collection<IClusterNodeServer> getValidClusterNodeServers(ServiceTask serviceTask)
-
searchLogicNode
public NetworkClusterNodeInfoSnapshot searchLogicNode(ServiceTask serviceTask)
-
competeWithCluster
public boolean competeWithCluster(ServiceTask serviceTask)
-
unregisterPacketListenersByClassLoader
public void unregisterPacketListenersByClassLoader(java.lang.ClassLoader classLoader)
-
publishNetworkClusterNodeInfoSnapshotUpdate
public void publishNetworkClusterNodeInfoSnapshotUpdate()
-
publishPermissionGroupUpdates
public void publishPermissionGroupUpdates(java.util.Collection<IPermissionGroup> permissionGroups, NetworkUpdateType updateType)
-
publishH2DatabaseDataToCluster
public void publishH2DatabaseDataToCluster(INetworkChannel channel)
-
allocateDatabaseData
private java.util.Map<java.lang.String,java.util.Map<java.lang.String,JsonDocument>> allocateDatabaseData()
-
initPacketRegistryListeners
private void initPacketRegistryListeners()
-
mainloop
private void mainloop()
-
launchServices
private void launchServices()
-
stopDeadServices
private void stopDeadServices()
-
sendNodeUpdate
private void sendNodeUpdate()
-
updateServiceLogs
private void updateServiceLogs()
-
unloadAll
private void unloadAll()
-
unloadModules
private void unloadModules()
-
unloadAllModules0
private void unloadAllModules0()
-
unloadModule
private void unloadModule(IModuleWrapper moduleWrapper)
-
registerDefaultCommands
private void registerDefaultCommands()
-
scheduleTask
public <T> ITask<T> scheduleTask(java.util.concurrent.Callable<T> callable)
-
enableModules
private void enableModules()
-
loadModules
private void loadModules()
-
startModules
private void startModules()
-
enableCommandCompleter
private void enableCommandCompleter()
-
setDefaultRegistryEntries
private void setDefaultRegistryEntries()
-
registerDefaultServices
private void registerDefaultServices()
-
runConsole
private void runConsole()
-
getCommandMap
public ICommandMap getCommandMap()
-
getModuleDirectory
public java.io.File getModuleDirectory()
-
getConfig
public IConfiguration getConfig()
-
getConfigurationRegistry
public IConfigurationRegistry getConfigurationRegistry()
-
getCloudServiceManager
public ICloudServiceManager getCloudServiceManager()
-
getClusterNodeServerProvider
public IClusterNodeServerProvider getClusterNodeServerProvider()
-
getNetworkTaskScheduler
public ITaskScheduler getNetworkTaskScheduler()
-
getCommandLineArguments
public java.util.List<java.lang.String> getCommandLineArguments()
-
getCommandLineProperties
public Properties getCommandLineProperties()
-
getConsole
public IConsole getConsole()
-
getQueuedConsoleLogHandler
public QueuedConsoleLogHandler getQueuedConsoleLogHandler()
-
getConsoleCommandSender
public ConsoleCommandSender getConsoleCommandSender()
-
getNetworkClient
public INetworkClient getNetworkClient()
- Specified by:
getNetworkClient
in classCloudNetDriver
-
getNetworkServer
public INetworkServer getNetworkServer()
-
getHttpServer
public IHttpServer getHttpServer()
-
getPermissionManagement
public IPermissionManagement getPermissionManagement()
-
getDatabaseProvider
public AbstractDatabaseProvider getDatabaseProvider()
-
getLastNetworkClusterNodeInfoSnapshot
public NetworkClusterNodeInfoSnapshot getLastNetworkClusterNodeInfoSnapshot()
-
getCurrentNetworkClusterNodeInfoSnapshot
public NetworkClusterNodeInfoSnapshot getCurrentNetworkClusterNodeInfoSnapshot()
-
-