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 Type
    Method
    Description
    boolean
    If true, prevents the module from being unloaded with ``dlclose``.
    boolean
    If true, the dynamic module is loaded with the ``RTLD_GLOBAL`` flag.
    The name of the dynamic module.
    com.google.protobuf.ByteString
    The name of the dynamic module.

    Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

    isInitialized

    Methods 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.