Grassroots Infrastructure
The Grassroots Infrastructure is a suite of computing tools to help users and developers use scientific data infrastructure that can easily be interconnected.
Services Library

Shared code specific for Services. More...

Data Structures

struct  LinkedService
 This datatype stores the data needed to get the required information from the output of one Service to act as input for another. More...
 
struct  LinkedServiceNode
 The datatype to allow the storage of LinkedServices on LinkedLists. More...
 
struct  MappedParameter
 This structure is used to store a relationship between a value from the output of running one service to use as an input parameter value for another service. More...
 
struct  MappedParameterNode
 This datatype allows the storage of MappedParameters on a LinkedList. More...
 
struct  PairedService
 A datatype for describing a remote Service that can be used in conjunction with a local Service. More...
 
struct  PairedServiceNode
 A datatype for storing PairedServices on a LinkedList. More...
 
struct  ReferredServiceData
 The base structure for storing Service configuration data. More...
 
struct  ReferredService
 A datatype which defines an available service, its capabilities and its parameters. More...
 
struct  ReferredServiceNode
 A datatype for storing a ReferredService on a LinkedList. More...
 
struct  RemoteServiceJob
 A datatype describing a ServiceJob that is run on a remote Grassroots Server. More...
 
struct  ServiceData
 A datatype for holding the configuration data for a Service. More...
 
struct  Service
 A datatype which defines an available service, its capabilities and its parameters. More...
 
struct  ServiceNode
 A datatype for storing Services on a LinkedList. More...
 
struct  ServicesArray
 A datatype for having a set of Services. More...
 
struct  ServiceJob
 A datatype to represent a running task. More...
 
struct  ServiceJobNode
 A datatype used to store a ServiceJob within a ServceJobSet using a LinkedList. More...
 
struct  ServiceJobSet
 A datatype to represent a collection of ServiceJobs. More...
 
struct  ServiceJobSetIterator
 A datatype allowing easy traversal over all of the ServiceJobs within a ServiceJobSet. More...
 
struct  WebServiceData
 The configuration data for a WebService. More...
 
struct  ProvidersStateTable
 This is a datatype that is used to keep track of which servers and services have already been processed when merging services together to present to a server or client. More...
 
struct  ServiceMatcher
 A datatype used to find any Services that match given criteria. More...
 
struct  ResourceServiceMatcher
 A ServiceMatcher that matches a Service if it can run on a given Resource. More...
 
struct  NameServiceMatcher
 A ServiceMatcher that matches a Service by its name. More...
 
struct  PluginNameServiceMatcher
 A ServiceMatcher that matches a Service by its Plugin name. More...
 
struct  PluginOperationNameServiceMatcher
 A ServiceMatcher that matches a Service by its Plugin name and an Service name. More...
 
struct  KeywordServiceMatcher
 A ServiceMatcher that will find any Service with a keyword parameter. More...
 

Enumerations

enum  Synchronicity { SY_SYNCHRONOUS, SY_ASYNCHRONOUS_DETACHED, SY_ASYNCHRONOUS_ATTACHED }
 A datatype to define how a Service runs. More...
 
enum  MatchType { MT_EXACT_MATCH, MT_AND, MT_OR, MT_NUM_MATCH_TYPES }
 An enumeration detailing how to combine different parameters upon submission to a web service. More...
 
enum  SubmissionMethod {
  SM_UNKNOWN = -1, SM_POST, SM_GET, SM_BODY,
  SM_NUM_METHODS
}
 An enumeration of the different web-based submission methods. More...
 

Detailed Description

Shared code specific for Services.

Enumeration Type Documentation

◆ Synchronicity

A datatype to define how a Service runs.

Enumerator
SY_SYNCHRONOUS 

A task that runs synchronously.

SY_SYNCHRONOUS

SY_ASYNCHRONOUS_DETACHED 

A task that runs asynchronously outside of the Grassroots system such as e.g drmaa jobs.

SY_ASYNCHRONOUS_DETACHED

SY_ASYNCHRONOUS_ATTACHED 

A task runs asynchronously within the Grassroots system such as e.g threaded jobs.

SY_ASYNCHRONOUS_ATTACHED

◆ MatchType

enum MatchType

An enumeration detailing how to combine different parameters upon submission to a web service.

Enumerator
MT_EXACT_MATCH 

The user requires an exact match of the parameter values.

MT_AND 

The user wants the parameters AND'ed together.

MT_OR 

Treat the parameters as a set of options to be OR'ed together.

MT_NUM_MATCH_TYPES 

The number of MatchTypes.

◆ SubmissionMethod

An enumeration of the different web-based submission methods.

Enumerator
SM_UNKNOWN 

An invalid SubmissionMethod.

SM_POST 

An HTTP POST request.

SM_GET 

An HTTP GET request.

SM_BODY 

An HTTP POST request where the body of the request uses JSON.

SM_NUM_METHODS 

The number of SubmissionMethods.