[][src]Module envoy_sdk::extension::factory

Envoy Extension Factory.

ExtensionFactory is responsible for handling extension configuration and creating new instances of extension.

Examples

Basic ExtensionFactory:

use envoy::extension::{ExtensionFactory, InstanceId, Result};

/// `ExtensionFactory` for `MyHttpFilter`.
struct MyHttpFilterFactory;

impl ExtensionFactory for MyHttpFilterFactory {
    type Extension = MyHttpFilter;

    const NAME: &'static str = "my_http_filter";

    fn new_extension(&mut self, _instance_id: InstanceId) -> Result<Self::Extension> {
        Ok(MyHttpFilter)
    }
}

Enums

ConfigStatus

Possible responses to the request to (re-)configure the extension.

DrainStatus

Possible responses to the request to drain the extension.

Traits

ConfigureOps

An interface for accessing extension config.

DrainOps

An interface for acknowledging Envoy that ExtensionFactory has been drained.

ExtensionFactory

An interface of the Envoy Extension Factory.