Interface DynamicModuleConfigOrBuilder
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder
- All Known Implementing Classes:
DynamicModuleConfig,DynamicModuleConfig.Builder
public interface DynamicModuleConfigOrBuilder
extends com.google.protobuf.MessageOrBuilder
-
Method Summary
Modifier and TypeMethodDescriptionbooleanIf true, prevents the module from being unloaded with ``dlclose``.booleanIf true, the dynamic module is loaded with the ``RTLD_GLOBAL`` flag.getName()The name of the dynamic module.com.google.protobuf.ByteStringThe name of the dynamic module.Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder
isInitializedMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getName
String getName()The name of the dynamic module. The client is expected to have some configuration indicating where to search for the module. In Envoy, the search path can only be configured via the environment variable ``ENVOY_DYNAMIC_MODULES_SEARCH_PATH``. The actual search path is ``${ENVOY_DYNAMIC_MODULES_SEARCH_PATH}/lib${name}.so``. .. note:: There is some remaining work to make the search path configurable via command line options.string name = 1 [(.validate.rules) = { ... }- Returns:
- The name.
-
getNameBytes
com.google.protobuf.ByteString getNameBytes()The name of the dynamic module. The client is expected to have some configuration indicating where to search for the module. In Envoy, the search path can only be configured via the environment variable ``ENVOY_DYNAMIC_MODULES_SEARCH_PATH``. The actual search path is ``${ENVOY_DYNAMIC_MODULES_SEARCH_PATH}/lib${name}.so``. .. note:: There is some remaining work to make the search path configurable via command line options.string name = 1 [(.validate.rules) = { ... }- Returns:
- The bytes for name.
-
getDoNotClose
boolean getDoNotClose()If true, prevents the module from being unloaded with ``dlclose``. This is useful for modules that have global state that should not be unloaded. A module is closed when no more references to it exist in the process. For example, no HTTP filters are using the module (e.g. after configuration update). Defaults to ``false``.
bool do_not_close = 3;- Returns:
- The doNotClose.
-
getLoadGlobally
boolean getLoadGlobally()If true, the dynamic module is loaded with the ``RTLD_GLOBAL`` flag. The dynamic module is loaded with the ``RTLD_LOCAL`` flag by default to avoid symbol conflicts when multiple modules are loaded. Set this to ``true`` to load the module with the ``RTLD_GLOBAL`` flag. This is useful for modules that need to share symbols with other dynamic libraries. For example, a module X may load another shared library Y that depends on some symbols defined in module X. In this case, module X must be loaded with the ``RTLD_GLOBAL`` flag so that the symbols defined in module X are visible to library Y. .. warning:: Use this option with caution as it may lead to symbol conflicts and undefined behavior if multiple modules define the same symbols and are loaded globally. Defaults to ``false``.
bool load_globally = 4;- Returns:
- The loadGlobally.
-