Equalizer  1.13.0
Parallel Rendering Framework
configParams.h
1 
2 /* Copyright (c) 2005-2016, Stefan Eilemann <eile@equalizergraphics.com>
3  * Daniel Nachbaur <danielnachbaur@gmail.com>
4  *
5  * This library is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU Lesser General Public License version 2.1 as published
7  * by the Free Software Foundation.
8  *
9  * This library is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12  * details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this library; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17  */
18 
19 #ifndef EQFABRIC_CONFIG_PARAMS_H
20 #define EQFABRIC_CONFIG_PARAMS_H
21 
22 #include <eq/fabric/api.h>
23 #include <eq/fabric/types.h>
24 #include <co/types.h>
25 
26 
27 namespace eq
28 {
29 namespace fabric
30 {
31 namespace detail { class ConfigParams; }
32 
35 {
36 public:
42  enum Flags
43  {
44  FLAG_NONE = LB_BIT_NONE,
45  FLAG_MULTIPROCESS = LB_BIT1,
49 
54  FLAG_LOAD_EQ_2D = LB_BIT7,
56  FLAG_LOAD_EQ_ALL = FLAG_LOAD_EQ_HORIZONTAL | FLAG_LOAD_EQ_VERTICAL |
60  };
61 
63  EQFABRIC_API ConfigParams();
64 
66  EQFABRIC_API ~ConfigParams();
67 
69  EQFABRIC_API ConfigParams( const ConfigParams& rhs );
70 
72  EQFABRIC_API ConfigParams& operator = ( const ConfigParams& rhs );
73 
77  EQFABRIC_API void setName( const std::string& name );
78 
80  EQFABRIC_API const std::string& getName() const;
81 
90  EQFABRIC_API void setRenderClient( const std::string& renderClient );
91 
93  EQFABRIC_API const std::string& getRenderClient() const;
94 
101  EQFABRIC_API void setRenderClientArgs( const Strings& args );
102 
104  EQFABRIC_API const Strings& getRenderClientArgs() const;
105 
107  EQFABRIC_API void setRenderClientEnvPrefixes( const Strings& prefixes );
108 
110  EQFABRIC_API const Strings& getRenderClientEnvPrefixes() const;
111 
119  EQFABRIC_API void setWorkDir( const std::string& workDir );
120 
125  EQFABRIC_API const std::string& getWorkDir() const;
126 
131  EQFABRIC_API void setFlags( const uint32_t flags );
132 
137  EQFABRIC_API uint32_t getFlags() const;
138 
140  EQFABRIC_API const Equalizer& getEqualizer() const;
141 
143  EQFABRIC_API Equalizer& getEqualizer();
144 
151  EQFABRIC_API void setPrefixes( const Strings& prefixes );
152 
154  EQFABRIC_API const Strings& getPrefixes() const;
155 
157  EQFABRIC_API void setGPUFilter( const std::string& regex );
158 
160  EQFABRIC_API const std::string& getGPUFilter() const;
162 
163  EQFABRIC_API void serialize( co::DataOStream& os ) const;
164  EQFABRIC_API void deserialize( co::DataIStream& is );
165 
166 private:
167  detail::ConfigParams* const _impl;
168 };
169 
170 EQFABRIC_API co::DataOStream& operator << ( co::DataOStream& os,
171  const ConfigParams& );
172 
173 EQFABRIC_API co::DataIStream& operator >> ( co::DataIStream& is,
174  ConfigParams& );
175 }
176 }
177 
178 #endif // EQFABRIC_CONFIG_PARAMS_H
EQFABRIC_API const Strings & getRenderClientEnvPrefixes() const
EQFABRIC_API const std::string & getName() const
Parameters for running a configuration.
Definition: configParams.h:34
EQFABRIC_API const std::string & getGPUFilter() const
Defines export visibility macros for library EqualizerFabric.
EQFABRIC_API const std::string & getRenderClient() const
EQFABRIC_API void setWorkDir(const std::string &workDir)
Set the directory from which to launch the render client.
EQFABRIC_API const Equalizer & getEqualizer() const
EQFABRIC_API void setGPUFilter(const std::string &regex)
Set a regex filter matching to 'nodename:display.port'.
EQFABRIC_API void setPrefixes(const Strings &prefixes)
Set a list of network prefixes in CIDR notation for autoconfig network interface filtering.
EQFABRIC_API void setRenderClient(const std::string &renderClient)
Set the name of the render client executable.
Auto-config: one node per pipe.
Definition: configParams.h:45
EQFABRIC_API void setRenderClientArgs(const Strings &args)
Set the command line arguments for the render client executable.
Auto-config: 2D partition for load equalizer.
Definition: configParams.h:54
EQFABRIC_API const Strings & getRenderClientArgs() const
EQFABRIC_API uint32_t getFlags() const
Auto-config: use ethernet only.
Definition: configParams.h:47
EQFABRIC_API void setName(const std::string &name)
Set the name of the configuration.
The Equalizer client library.
Definition: eq/agl/types.h:23
Auto-config: horizontal partition for load equalizer.
Definition: configParams.h:50
Auto-config: vertical partition for load equalizer.
Definition: configParams.h:52
EQFABRIC_API ConfigParams()
Construct new configuration parameters.
EQFABRIC_API ~ConfigParams()
Destruct this configuration parameters.
one node per DB decomposition
Definition: configParams.h:46
EQFABRIC_API void setFlags(const uint32_t flags)
Base data transport class for equalizers.
Definition: equalizer.h:38
EQFABRIC_API const Strings & getPrefixes() const
EQFABRIC_API const std::string & getWorkDir() const
EQFABRIC_API void setRenderClientEnvPrefixes(const Strings &prefixes)
Set the prefixes of the environmental variables to pass on clients.