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

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;

    fn 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 operations available in the context of on_configure invocation.

DrainOps

An interface for acknowledging Envoy that ExtensionFactory has been drained.

ExtensionFactory

An interface of the Envoy Extension Factory.