Class RemoteQueryClient
java.lang.Object
com.illumon.iris.db.tables.remotequery.RemoteQueryClient
- All Implemented Interfaces:
com.fishlib.dataobjects.HashCommandConstants
,com.fishlib.net.api.CommandHandler
,com.fishlib.net.BaseCommandConstants
,RemoteQueryCommandConstants
public class RemoteQueryClient
extends Object
implements com.fishlib.net.api.CommandHandler, RemoteQueryCommandConstants
Interface for remotely connecting to Deephaven.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
The default priority of a worker, for when it's not overridden (for example by the query type).static final long
Fields inherited from interface com.fishlib.net.BaseCommandConstants
PING, PONG, REGISTER_QUEUE_LISTENER, RESPONSE
Fields inherited from interface com.fishlib.dataobjects.HashCommandConstants
HASHTABLE_CLEAR, HASHTABLE_GET_ALL_ENTRIES, HASHTABLE_GET_KEYS, HASHTABLE_PUT, HASHTABLE_PUTALL, HASHTABLE_REMOVE, HASHTABLE_REMOVEALL, HASHTABLE_SUBSCRIBE, HASHTABLE_UNSUBSCRIBE
Fields inherited from interface com.illumon.iris.db.RemoteQueryCommandConstants
CANCEL_REMOTE_QUERY, CURRENT_HEAP_UPDATE, GET_TABLE_PARTITION_ID, LOG_BUFFER_RECORD, LOG_BUFFER_SUBSCRIPTION, MAXIMUM_HEAP_REQUEST, PROGRESS_UPDATE, REGISTER, REMOTE_QUERY_CONCURRENT, REMOTE_QUERY_DISPATCHER_ADD_JOB, REMOTE_QUERY_DISPATCHER_ADMIN_COMMAND, REMOTE_QUERY_DISPATCHER_CANCEL_JOB, REMOTE_QUERY_DISPATCHER_INFO_FOR_JOB, REMOTE_QUERY_DISPATCHER_PUSH_CLASSES, REMOTE_QUERY_FATAL_ERROR, REMOTE_QUERY_GET_SCOPE_VAR, REMOTE_QUERY_METHOD_CALL, REMOTE_QUERY_PREEMPTIVE_TABLE_DELTA, REMOTE_QUERY_PREEMPTIVE_TABLE_SNAPSHOT, REMOTE_QUERY_PREEMPTIVE_TABLE_SUBSCRIPTION, REMOTE_QUERY_PROCESSOR_TERMINATE, REMOTE_QUERY_RELEASE_REFERENCE, REMOTE_QUERY_SERIAL, REMOTE_QUERY_TABLE_ERROR, REMOTE_TABLE_HANDLE_CREATE, REMOTE_TABLE_HANDLE_UPDATE, REMOTE_TABLE_MAP_KEY_ADDITION, REMOTE_TABLE_MAP_RELEASE, RTLM_CREATE_LOGGER, RTLM_DELETE_TABLE, SERVER_INFO_REQUEST, SUBSCRIBE_USAGE_UPDATES, UNUSED_REMOTE_QUERY_GET_TABLE_SEGMENT_BLOCK_ASYNC
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a new Deephaven dispatcher connection.RemoteQueryClient
(com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams) Create a new Deephaven dispatcher connection.RemoteQueryClient
(String serverHost, int serverPort) Create a RemoteQueryClient and connect it to the RemoteQueryDispatcher.RemoteQueryClient
(String serverHost, int serverPort, com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams) Create a RemoteQueryClient and connect it to the RemoteQueryDispatcher.RemoteQueryClient
(String serverHost, int serverPort, com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager) Create a RemoteQueryClient and connect it to the RemoteQueryDispatcher. -
Method Summary
Modifier and TypeMethodDescriptionstatic List<RemoteQueryClassDefinition>
buildClassList
(Class<?>... classes) static List<RemoteQueryClassDefinition>
buildClassList
(List<RemoteQueryClassDefinition> classList, Class<?>... classes) static QueryProcessorConnection
connectToExistingProcessor
(com.fishlib.io.logger.Logger log, io.deephaven.enterprise.auth.AuthToken authToken, int port, String hostName, int webSocketPort, String envoyPrefix, String workerId, String processInfoId, QueryProcessorConnection.DisconnectHandler disconnectHandler, com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, boolean combineWorkerConnectionStats, io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager) static QueryProcessorConnection
connectToExistingProcessor
(com.fishlib.io.logger.Logger log, io.deephaven.enterprise.auth.AuthToken authToken, int port, String hostName, String workerId, String processInfoId, QueryProcessorConnection.DisconnectHandler disconnectHandler, com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams) static QueryProcessorConnection
connectToExistingProcessor
(com.fishlib.io.logger.Logger log, io.deephaven.enterprise.auth.AuthToken authToken, int port, String hostName, String workerId, String processInfoId, QueryProcessorConnection.DisconnectHandler disconnectHandler, com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager) static QueryProcessorConnection
connectToNewProcessor
(com.fishlib.io.logger.Logger log, QueryDispatcherConnection dispatcherConnection, QueryDispatcherConnection.QueryProcessorRequestHandle handle, QueryProcessorConnection.DisconnectHandler disconnectHandler, com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, RemoteProcessingRequest request, boolean exportQueryScope, List<RemoteQueryClassDefinition> classPushList) static QueryProcessorConnection
connectToNewProcessor
(com.fishlib.io.logger.Logger log, QueryDispatcherConnection dispatcherConnection, io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, QueryDispatcherConnection.QueryProcessorRequestHandle handle, QueryProcessorConnection.DisconnectHandler disconnectHandler, com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, String[] classpath, int priority, int maxHeapSizeMb, String queryDescription, boolean debug, boolean detailedGCLogging, boolean omitDefaultGcParameters, boolean exportQueryScope, List<RemoteQueryClassDefinition> classPushList, Map<String, String> extraEnvironmentVars, String... jvmArgs) static QueryProcessorConnection
connectToNewProcessor
(com.fishlib.io.logger.Logger log, QueryDispatcherConnection dispatcherConnection, io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, QueryDispatcherConnection.QueryProcessorRequestHandle handle, QueryProcessorConnection.DisconnectHandler disconnectHandler, com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, String[] classpath, int maxHeapSizeMb, String queryDescription, boolean debug, boolean detailedGCLogging, boolean omitDefaultGcParameters, boolean exportQueryScope, List<RemoteQueryClassDefinition> classPushList, Map<String, String> extraEnvironmentVars, String... jvmArgs) Delegate toconnectToNewProcessor(Logger, QueryDispatcherConnection, AuthToken, AuthToken, QueryDispatcherConnection.QueryProcessorRequestHandle, QueryProcessorConnection.DisconnectHandler, ConnectionMonitor.Params, TokenFactoryFactory, String[], int, int, String, boolean, boolean, boolean, boolean, List, Map, String...)
with a worker priority ofDEFAULT_WORKER_PRIORITY
.static List<RemoteQueryClassDefinition>
getClassPushList
(String resourceName) static String[]
static List<RemoteQueryClassDefinition>
getExtraJvmArgs
(boolean debug, int debuggerPort, String[] jvmArgs) Creates a Database object that communicates with a remote query worker.getRemoteDB
(int maxHeapSizeMb) Creates a Database object that communicates with a remote query worker.getRemoteDB
(int maxHeapSizeMb, String description, boolean debug, String... jvmArgs) getRemoteDB
(int maxHeapSizeMb, String description, boolean debug, Map<String, String> extraEnvironmentVars, String... jvmArgs) getRemoteDB
(int maxHeapSizeMb, String jvmProfileName, String... extraJvmArgs) getRemoteDB
(io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, QueryDispatcherConnection.QueryProcessorRequestHandle handle, QueryProcessorConnection.DisconnectHandler disconnectHandler, com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, String[] classpath, int maxHeapSizeMb, String queryDescription, boolean debug, boolean detailedGCLogging, boolean omitDefaultGcParameters, List<RemoteQueryClassDefinition> classPushList, Map<String, String> extraEnvironmentVars, String... jvmArgs) getRemoteDB
(io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, QueryDispatcherConnection.QueryProcessorRequestHandle handle, QueryProcessorConnection.DisconnectHandler disconnectHandler, com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, String[] classpath, int maxHeapSizeMb, String queryDescription, boolean debug, boolean detailedGCLogging, List<RemoteQueryClassDefinition> classPushList, Map<String, String> extraEnvironmentVars, String... jvmArgs) getRemoteDB
(io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, int maxHeapSizeMb, String description, boolean debug, Map<String, String> extraEnvironmentVars, String... jvmArgs) void
handleClientDeath
(com.fishlib.net.api.ClientEntry client) void
handleCommand
(com.fishlib.net.api.ClientEntry client, com.fishlib.base.Command comm) boolean
void
pushClasses
(Class<?>... classes) Pushes classes to the dispatcher for later use when processing queries.<T> T
sendNewQuery
(RemoteQuery<T> remoteQuery, int processorHeapMB, long maxDurationMS, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.<T> T
sendNewQuery
(RemoteQuery<T> remoteQuery, long workerAcquisitionTimeoutMillis, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.<T> T
sendNewQuery
(RemoteQuery<T> remoteQuery, RemoteProcessingRequest request, long workerAcquisitionTimeoutMillis, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.<T> T
sendNewQuery
(RemoteQuery<T> remoteQuery, RemoteProcessingRequest request, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.<T> T
sendNewQuery
(RemoteQuery<T> remoteQuery, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.<T> T
sendQuery
(RemoteQuery<T> remoteQuery, int processorHeapMB, long maxDurationMS, long workerAcquisitionTimeoutMillis, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.<T> T
sendQuery
(RemoteQuery<T> remoteQuery, int processorHeapMB, long maxDurationMS, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.<T> T
sendQuery
(RemoteQuery<T> remoteQuery, long workerAcquisitionTimeoutMillis, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.<T> T
sendQuery
(RemoteQuery<T> remoteQuery, RemoteProcessingRequest request, long workerAcquisitionTimeoutMillis, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.<T> T
sendQuery
(RemoteQuery<T> remoteQuery, RemoteProcessingRequest request, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.<T> T
sendQuery
(RemoteQuery<T> remoteQuery, Class<?>... additionalClasses) Requests a query processor from the dispatcher, and sends a query to the processor for execution.
-
Field Details
-
REMOTE_DB_WORKER_REQUEST_TIMEOUT_MILLIS
public static final long REMOTE_DB_WORKER_REQUEST_TIMEOUT_MILLIS -
DEFAULT_WORKER_PRIORITY
public static final int DEFAULT_WORKER_PRIORITYThe default priority of a worker, for when it's not overridden (for example by the query type). Lower numbers are higher priorities, with 0 as the highest. Negative numbers are not allowed.
-
-
Constructor Details
-
RemoteQueryClient
Create a new Deephaven dispatcher connection. The default host and port are selected using the RemoteQueryDispatcherParameters.host and RemoteQueryDispatcherParameters.queryPort properties.- Throws:
IOException
- if an error occurred connecting to the RemoteQueryDispatcher
-
RemoteQueryClient
public RemoteQueryClient(@Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams) throws IOException Create a new Deephaven dispatcher connection. The default host and port are selected using the RemoteQueryDispatcherParameters.host and RemoteQueryDispatcherParameters.queryPort properties.- Parameters:
connectionMonitorParams
- heartbeat and idle monitoring parameters- Throws:
IOException
- if an error occurred connecting to the RemoteQueryDispatcher
-
RemoteQueryClient
Create a RemoteQueryClient and connect it to the RemoteQueryDispatcher.- Parameters:
serverHost
- the hostname of the RemoteQueryDispatcherserverPort
- the port of the RemoteQueryDispatcher- Throws:
IOException
- if an error occurred connecting to the RemoteQueryDispatcher
-
RemoteQueryClient
public RemoteQueryClient(String serverHost, int serverPort, @Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams) throws IOException Create a RemoteQueryClient and connect it to the RemoteQueryDispatcher. Uses the default authentication client manager.- Parameters:
serverHost
- the hostname of the RemoteQueryDispatcherserverPort
- the port of the RemoteQueryDispatcherconnectionMonitorParams
- heartbeat and idle monitoring parameters- Throws:
IOException
- if an error occurred connecting to the RemoteQueryDispatcher
-
RemoteQueryClient
public RemoteQueryClient(String serverHost, int serverPort, @Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, @NotNull io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager) throws IOException Create a RemoteQueryClient and connect it to the RemoteQueryDispatcher.- Parameters:
serverHost
- the hostname of the RemoteQueryDispatcherserverPort
- the port of the RemoteQueryDispatcherconnectionMonitorParams
- heartbeat and idle monitoring parameterstokenAuthenticationManager
- the authentication client manager to use- Throws:
IOException
- if an error occurred connecting to the RemoteQueryDispatcher
-
-
Method Details
-
getDefaultClassPushList
-
getDefaultClassPathList
-
getClassPushList
-
connectToNewProcessor
public static QueryProcessorConnection connectToNewProcessor(@NotNull com.fishlib.io.logger.Logger log, @NotNull QueryDispatcherConnection dispatcherConnection, @Nullable io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, @Nullable io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, @NotNull QueryDispatcherConnection.QueryProcessorRequestHandle handle, @Nullable QueryProcessorConnection.DisconnectHandler disconnectHandler, @Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, @NotNull io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, String[] classpath, int priority, int maxHeapSizeMb, String queryDescription, boolean debug, boolean detailedGCLogging, boolean omitDefaultGcParameters, boolean exportQueryScope, List<RemoteQueryClassDefinition> classPushList, Map<String, String> extraEnvironmentVars, String... jvmArgs) throws RemoteQueryException- Throws:
RemoteQueryException
-
connectToNewProcessor
public static QueryProcessorConnection connectToNewProcessor(@NotNull com.fishlib.io.logger.Logger log, @NotNull QueryDispatcherConnection dispatcherConnection, @NotNull QueryDispatcherConnection.QueryProcessorRequestHandle handle, @Nullable QueryProcessorConnection.DisconnectHandler disconnectHandler, @Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, @NotNull io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, RemoteProcessingRequest request, boolean exportQueryScope, List<RemoteQueryClassDefinition> classPushList) throws RemoteQueryException - Throws:
RemoteQueryException
-
connectToNewProcessor
public static QueryProcessorConnection connectToNewProcessor(@NotNull com.fishlib.io.logger.Logger log, @NotNull QueryDispatcherConnection dispatcherConnection, @Nullable io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, @Nullable io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, @NotNull QueryDispatcherConnection.QueryProcessorRequestHandle handle, @Nullable QueryProcessorConnection.DisconnectHandler disconnectHandler, @Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, @NotNull io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, String[] classpath, int maxHeapSizeMb, String queryDescription, boolean debug, boolean detailedGCLogging, boolean omitDefaultGcParameters, boolean exportQueryScope, List<RemoteQueryClassDefinition> classPushList, Map<String, String> extraEnvironmentVars, String... jvmArgs) throws RemoteQueryExceptionDelegate toconnectToNewProcessor(Logger, QueryDispatcherConnection, AuthToken, AuthToken, QueryDispatcherConnection.QueryProcessorRequestHandle, QueryProcessorConnection.DisconnectHandler, ConnectionMonitor.Params, TokenFactoryFactory, String[], int, int, String, boolean, boolean, boolean, boolean, List, Map, String...)
with a worker priority ofDEFAULT_WORKER_PRIORITY
.- Throws:
RemoteQueryException
-
getExtraJvmArgs
-
connectToExistingProcessor
public static QueryProcessorConnection connectToExistingProcessor(@NotNull com.fishlib.io.logger.Logger log, @Nullable io.deephaven.enterprise.auth.AuthToken authToken, int port, String hostName, String workerId, String processInfoId, @Nullable QueryProcessorConnection.DisconnectHandler disconnectHandler, @Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams) throws IOException - Throws:
IOException
-
connectToExistingProcessor
public static QueryProcessorConnection connectToExistingProcessor(@NotNull com.fishlib.io.logger.Logger log, @Nullable io.deephaven.enterprise.auth.AuthToken authToken, int port, String hostName, String workerId, String processInfoId, @Nullable QueryProcessorConnection.DisconnectHandler disconnectHandler, @Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, @NotNull io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager) throws IOException - Throws:
IOException
-
connectToExistingProcessor
public static QueryProcessorConnection connectToExistingProcessor(@NotNull com.fishlib.io.logger.Logger log, @Nullable io.deephaven.enterprise.auth.AuthToken authToken, int port, String hostName, int webSocketPort, String envoyPrefix, String workerId, String processInfoId, @Nullable QueryProcessorConnection.DisconnectHandler disconnectHandler, @Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, boolean combineWorkerConnectionStats, @NotNull io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager) throws IOException - Throws:
IOException
-
buildClassList
public static List<RemoteQueryClassDefinition> buildClassList(Class<?>... classes) throws IOException - Throws:
IOException
-
buildClassList
public static List<RemoteQueryClassDefinition> buildClassList(@Nullable List<RemoteQueryClassDefinition> classList, Class<?>... classes) throws IOException - Throws:
IOException
-
isConnected
public boolean isConnected()- Returns:
- Whether this connection is still connected to the RemoteQueryDispatcher. Note: If it's not, you'll need to create a new one and re-push any client classes needed on the server.
-
getRemoteDB
Creates a Database object that communicates with a remote query worker. The requested worker will have the heap size specified by RemoteProcessingRequest.defaultQueryHeapMB property.- Returns:
- a RemoteDatabase that can be used to query Deephaven
- Throws:
IOException
- if there was an error communicating with the query server
-
getRemoteDB
Creates a Database object that communicates with a remote query worker.- Parameters:
maxHeapSizeMb
- the worker heap size to request- Returns:
- a RemoteDatabase that can be used to query Deephaven
- Throws:
IOException
- if there was an error communicating with the query server
-
getRemoteDB
public RemoteDatabase getRemoteDB(int maxHeapSizeMb, @NotNull String jvmProfileName, String... extraJvmArgs) throws IOException - Throws:
IOException
-
getRemoteDB
public RemoteDatabase getRemoteDB(int maxHeapSizeMb, String description, boolean debug, String... jvmArgs) throws IOException - Throws:
IOException
-
getRemoteDB
public RemoteDatabase getRemoteDB(int maxHeapSizeMb, String description, boolean debug, Map<String, String> extraEnvironmentVars, String... jvmArgs) throws IOException- Throws:
IOException
-
getRemoteDB
public RemoteDatabase getRemoteDB(io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, int maxHeapSizeMb, String description, boolean debug, Map<String, String> extraEnvironmentVars, String... jvmArgs) throws IOException- Throws:
IOException
-
getRemoteDB
public RemoteDatabase getRemoteDB(@Nullable io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, @Nullable io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, @NotNull QueryDispatcherConnection.QueryProcessorRequestHandle handle, @Nullable QueryProcessorConnection.DisconnectHandler disconnectHandler, @Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, @NotNull io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, String[] classpath, int maxHeapSizeMb, String queryDescription, boolean debug, boolean detailedGCLogging, List<RemoteQueryClassDefinition> classPushList, Map<String, String> extraEnvironmentVars, String... jvmArgs) throws IOException- Throws:
IOException
-
getRemoteDB
public RemoteDatabase getRemoteDB(@Nullable io.deephaven.enterprise.auth.AuthToken authTokenForDispatcher, @Nullable io.deephaven.enterprise.auth.AuthToken authTokenForProcessor, @NotNull QueryDispatcherConnection.QueryProcessorRequestHandle handle, @Nullable QueryProcessorConnection.DisconnectHandler disconnectHandler, @Nullable com.fishlib.net.ConnectionMonitor.Params connectionMonitorParams, @NotNull io.deephaven.enterprise.auth.TokenFactoryFactory tokenAuthenticationManager, String[] classpath, int maxHeapSizeMb, String queryDescription, boolean debug, boolean detailedGCLogging, boolean omitDefaultGcParameters, List<RemoteQueryClassDefinition> classPushList, Map<String, String> extraEnvironmentVars, String... jvmArgs) throws IOException- Throws:
IOException
-
pushClasses
Pushes classes to the dispatcher for later use when processing queries.- Parameters:
classes
- The classes to be pushed- Throws:
IOException
-
sendQuery
public <T> T sendQuery(RemoteQuery<T> remoteQuery, int processorHeapMB, long maxDurationMS, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Does not push the query class itself, unless you add it to additionalClasses.- Type Parameters:
T
- The return type of remoteQuery.execute()- Parameters:
remoteQuery
- The query to executeprocessorHeapMB
- The heap size (in megabytes) to request for the query processormaxDurationMS
- Maximum duration (in millseconds) the dispatcher should expect the query to run foradditionalClasses
- For convenience, additional classes to push to the query server- Returns:
- The result of remoteQuery.execute()
- Throws:
IOException
-
sendQuery
public <T> T sendQuery(RemoteQuery<T> remoteQuery, int processorHeapMB, long maxDurationMS, long workerAcquisitionTimeoutMillis, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Does not push the query class itself, unless you add it to additionalClasses.- Parameters:
remoteQuery
- The query to executeprocessorHeapMB
- The heap size (in megabytes) to request for the query processormaxDurationMS
- Maximum duration (in millseconds) the dispatcher should expect the query to run forworkerAcquisitionTimeoutMillis
-additionalClasses
- For convenience, additional classes to push to the query server @return The result of remoteQuery.execute()- Throws:
IOException
-
sendQuery
public <T> T sendQuery(RemoteQuery<T> remoteQuery, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Does not push the query class itself, unless you add it to additionalClasses. Applies configuration defaults for maximum heap size and query duration.- Type Parameters:
T
- The return type of remoteQuery.execute()- Parameters:
remoteQuery
- The query to executeadditionalClasses
- For convenience, additional classes to push to the query server- Returns:
- The result of remoteQuery.execute()
- Throws:
IOException
-
sendQuery
public <T> T sendQuery(RemoteQuery<T> remoteQuery, long workerAcquisitionTimeoutMillis, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Does not push the query class itself, unless you add it to additionalClasses. Applies configuration defaults for maximum heap size and query duration.- Parameters:
remoteQuery
- The query to executeworkerAcquisitionTimeoutMillis
-additionalClasses
- For convenience, additional classes to push to the query server @return The result of remoteQuery.execute()- Throws:
IOException
-
sendQuery
public <T> T sendQuery(RemoteQuery<T> remoteQuery, RemoteProcessingRequest request, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Does not push the query class itself, unless you add it to additionalClasses.- Type Parameters:
T
- The return type of remoteQuery.execute()- Parameters:
remoteQuery
- The query to executerequest
- Instructions for query executionadditionalClasses
- For convenience, additional classes to push to the query server- Returns:
- The result of remoteQuery.execute()
- Throws:
IOException
-
sendQuery
public <T> T sendQuery(RemoteQuery<T> remoteQuery, RemoteProcessingRequest request, long workerAcquisitionTimeoutMillis, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Does not push the query class itself, unless you add it to additionalClasses.- Parameters:
remoteQuery
- The query to executerequest
- Instructions for query executionworkerAcquisitionTimeoutMillis
-additionalClasses
- For convenience, additional classes to push to the query server @return The result of remoteQuery.execute()- Throws:
IOException
-
sendNewQuery
public <T> T sendNewQuery(RemoteQuery<T> remoteQuery, int processorHeapMB, long maxDurationMS, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Always pushes the query class, in addition to the additionalClasses specified.- Type Parameters:
T
- The return type of remoteQuery.execute()- Parameters:
remoteQuery
- The query to executeprocessorHeapMB
- The heap size (in megabytes) to request for the query processormaxDurationMS
- Maximum duration (in millseconds) the dispatcher should expect the query to run foradditionalClasses
- For convenience, additional classes to push to the query server- Returns:
- The result of remoteQuery.execute()
- Throws:
IOException
-
sendNewQuery
public <T> T sendNewQuery(RemoteQuery<T> remoteQuery, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Always pushes the query class, in addition to the additionalClasses specified. Applies configuration defaults for maximum heap size and query duration.- Type Parameters:
T
- The return type of remoteQuery.execute()- Parameters:
remoteQuery
- The query to executeadditionalClasses
- For convenience, additional classes to push to the query server- Returns:
- The result of remoteQuery.execute()
- Throws:
IOException
-
sendNewQuery
public <T> T sendNewQuery(RemoteQuery<T> remoteQuery, long workerAcquisitionTimeoutMillis, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Always pushes the query class, in addition to the additionalClasses specified. Applies configuration defaults for maximum heap size and query duration.- Parameters:
remoteQuery
- The query to executeworkerAcquisitionTimeoutMillis
-additionalClasses
- For convenience, additional classes to push to the query server @return The result of remoteQuery.execute()- Throws:
IOException
-
sendNewQuery
public <T> T sendNewQuery(RemoteQuery<T> remoteQuery, RemoteProcessingRequest request, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Always pushes the query class, in addition to the additionalClasses specified.- Type Parameters:
T
- The return type of remoteQuery.execute()- Parameters:
remoteQuery
- The query to executerequest
- Instructions for query executionadditionalClasses
- For convenience, additional classes to push to the query server- Returns:
- The result of remoteQuery.execute()
- Throws:
IOException
-
sendNewQuery
public <T> T sendNewQuery(RemoteQuery<T> remoteQuery, RemoteProcessingRequest request, long workerAcquisitionTimeoutMillis, Class<?>... additionalClasses) throws IOException Requests a query processor from the dispatcher, and sends a query to the processor for execution. Always pushes the query class, in addition to the additionalClasses specified.- Parameters:
remoteQuery
- The query to executerequest
- Instructions for query executionworkerAcquisitionTimeoutMillis
-additionalClasses
- For convenience, additional classes to push to the query server @return The result of remoteQuery.execute()- Throws:
IOException
-
handleCommand
public void handleCommand(com.fishlib.net.api.ClientEntry client, com.fishlib.base.Command comm) - Specified by:
handleCommand
in interfacecom.fishlib.net.api.CommandHandler
-
handleClientDeath
public void handleClientDeath(com.fishlib.net.api.ClientEntry client) - Specified by:
handleClientDeath
in interfacecom.fishlib.net.api.CommandHandler
-