/* Copyright (c) 2001 - 2013 OpenPlans - www.openplans.org. All rights reserved. * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.wps; import java.util.List; import org.geoserver.catalog.MetadataMap; import org.geoserver.config.ServiceInfo; /** * Configuration related * * @author Lucas Reed, Refractions Research Inc */ public interface WPSInfo extends ServiceInfo { /** * Returns the connection timeout (in seconds). It represents the timeout to be used during WPS * execute requests, when opening the connection/reading through it. * * @return the timeout, or -1 if infinite timeout. */ double getConnectionTimeout(); /** * Sets the connection timeout (in seconds) to be used in WPS execute requests. -1 for infinite * timeout */ void setConnectionTimeout(double timeout); /** * Returns the resource expiration timeout (in seconds). Temporary resources such as stored * Execute responses and output stored as reference will be deleted after this timeout * * @return */ int getResourceExpirationTimeout(); /** * Sets the resource expiration timeout. * * @param resourceExpirationTimeout */ void setResourceExpirationTimeout(int resourceExpirationTimeout); /** * Returns the maximum number of processes that can run in synchronous mode in parallel. * Defaults to the number of available CPU cores * * @return */ public int getMaxSynchronousProcesses(); /** * Sets the maximum number of processes that can run in synchronous mode in parallel. * * @return */ public void setMaxSynchronousProcesses(int maxSynchronousProcesses); /** * Returns the maximum number of processes that can run in asynchronous mode in parallel. * Defaults to the number of available CPU cores * * @return */ public int getMaxAsynchronousProcesses(); /** * Sets the maximum number of processes that can run in asynchronous mode in parallel. * * @param maxAsynchronousProcesses */ public void setMaxAsynchronousProcesses(int maxAsynchronousProcesses); /** * Retrieves the process groups configurations * * @return */ public List<ProcessGroupInfo> getProcessGroups(); }