HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PDG_ServiceOptions.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * COMMENTS:
7  */
8 
9 #ifndef PDG_SERVICE_OPTIONS_H
10 #define PDG_SERVICE_OPTIONS_H
11 
12 #include "PDG_API.h"
13 #include "PDG_ServiceTypes.h"
14 
15 /**
16  * Configuration options for a service instance, passed to PDG_ServiceManager
17  * when registering a new service
18  */
20 {
21  /// Default initialization
23  : myClientLogDir("$HOUDINI_TEMP_DIR")
24  , myMQLogDir("$HOUDINI_TEMP_DIR")
25  , myEnvVarNames()
26  , myEnvVarValues()
27  , myPoolSize(5)
28  , myPort(0)
29  , myMQLogLevel(1)
30  , myConnectionTimeout(5000)
31  , myMemoryLimit(0)
32  , myClientLogType(PDG_ServiceLogType::eFile)
33  , myMemoryResetType(PDG_ServiceResetType::eNone)
34  , myServiceSchedulerType(PDG_ServiceSchedulerType::eInstance)
35  , myAutoStart(true)
36  , myIsPersistent(true)
37  {
38  }
39 
40  /// The directory to write client logs
42 
43  /// The directory to write MQ logs
45 
46  /// The names of the environment variables to be set
48 
49  /// The values of the environment variables to be set
51 
52  /// The extra arg values appended to the end of the services command line
54 
55  /// The name of the scheduler type, when the service scheduler type is
56  /// First of Type
58 
59  /// The name of the scheduler instance, when the service scheduler type
60  /// is Instance
62 
63  /// The name of the scheduler instance's graph context, when the service
64  /// scheduler type is Instance
66 
67  /// The service pool size
69 
70  /// The listen port
71  int myPort;
72 
73  /// The service MQ log level
75 
76  /// The connection timeout, in milliseconds
78 
79  /// The memory limit before a client is reset
81 
82  /// The type of logging for clients
84 
85  /// The memory reset type
87 
88  /// The service scheduler type, if the service is a scheduler-owned service
90 
91  /// whether or not the service should start automatically
93 
94  /// Whether or not the service should persist to the pdgservices
95  /// JSON file on disk
97 };
98 
99 #endif
UT_StringHolder mySchedulerContextName
UT_StringHolder myMQLogDir
The directory to write MQ logs.
int myMQLogLevel
The service MQ log level.
PDG_ServiceResetType
bool myAutoStart
whether or not the service should start automatically
int myPort
The listen port.
UT_StringHolder mySchedulerName
#define PDG_API
Definition: PDG_API.h:23
UT_StringArray myExtraArguments
The extra arg values appended to the end of the services command line.
int64 exint
Definition: SYS_Types.h:125
UT_StringArray myEnvVarValues
The values of the environment variables to be set.
UT_StringArray myEnvVarNames
The names of the environment variables to be set.
PDG_ServiceSchedulerType myServiceSchedulerType
The service scheduler type, if the service is a scheduler-owned service.
PDG_ServiceResetType myMemoryResetType
The memory reset type.
PDG_ServiceOptions()
Default initialization.
No error was specified, i.e. the ref is valid.
exint myMemoryLimit
The memory limit before a client is reset.
PDG_ServiceLogType
Enumeration of service log types.
PDG_ServiceLogType myClientLogType
The type of logging for clients.
int myPoolSize
The service pool size.
A specific scheduler is used to run service clients.
PDG_ServiceSchedulerType
UT_StringHolder mySchedulerTypeName
The service logs to a file on disk.
int myConnectionTimeout
The connection timeout, in milliseconds.
UT_StringHolder myClientLogDir
The directory to write client logs.