<?xml version="1.0" ?>

<feature-spec xmlns="urn:jboss:galleon:feature-spec:1.0" name="subsystem.undertow.configuration.filter.mod-cluster">
    <annotation name="jboss-op">
        <elem name="name" value="add"/>
        <elem name="op-params" value="management-socket-binding,advertise-socket-binding,security-key,advertise-protocol,advertise-path,advertise-frequency,failover-strategy,health-check-interval,broken-node-timeout,worker,max-request-time,management-access-predicate,connections-per-thread,cached-connections-per-thread,connection-idle-timeout,request-queue-size,security-realm,ssl-context,use-alias,enable-http2,max-ajp-packet-size,http2-max-header-list-size,http2-max-frame-size,http2-max-concurrent-streams,http2-initial-window-size,http2-header-table-size,http2-enable-push,max-retries"/>
        <elem name="addr-params" value="profile,subsystem,configuration,mod-cluster"/>
    </annotation>
    <annotation name="feature-branch">
        <elem name="id" value="subsystem.undertow"/>
    </annotation>
    <provides>
        <capability name="$profile.org.wildfly.undertow.mod_cluster-filter.$mod-cluster"/>
    </provides>
    <requires>
        <capability name="org.wildfly.network.socket-binding.$advertise-socket-binding" optional="true"/>
        <capability name="$profile.org.wildfly.security.ssl-context.$ssl-context" optional="true"/>
        <capability name="$profile.org.wildfly.io.worker.$worker" optional="true"/>
        <capability name="org.wildfly.network.socket-binding.$management-socket-binding"/>
    </requires>
    <refs>
        <ref feature="subsystem.undertow.configuration.filter"/>
        <ref feature="subsystem.undertow"/>
        <ref feature="profile" nillable="true"/>
    </refs>
    <params>
        <param name="request-queue-size" nillable="true"/>
        <param name="configuration" feature-id="true" default="filter"/>
        <param name="advertise-socket-binding" nillable="true"/>
        <param name="security-key" nillable="true"/>
        <param name="advertise-protocol" nillable="true"/>
        <param name="subsystem" feature-id="true" default="undertow"/>
        <param name="max-retries" nillable="true"/>
        <param name="cached-connections-per-thread" nillable="true"/>
        <param name="ssl-context" nillable="true"/>
        <param name="http2-header-table-size" nillable="true"/>
        <param name="enable-http2" nillable="true"/>
        <param name="advertise-path" nillable="true"/>
        <param name="management-socket-binding"/>
        <param name="failover-strategy" nillable="true"/>
        <param name="management-access-predicate" nillable="true"/>
        <param name="worker" nillable="true" default="default"/>
        <param name="use-alias" nillable="true"/>
        <param name="max-ajp-packet-size" nillable="true"/>
        <param name="health-check-interval" nillable="true"/>
        <param name="profile" feature-id="true" default="GLN_UNDEFINED"/>
        <param name="broken-node-timeout" nillable="true"/>
        <param name="security-realm" nillable="true"/>
        <param name="connections-per-thread" nillable="true"/>
        <param name="http2-max-header-list-size" nillable="true"/>
        <param name="mod-cluster" feature-id="true"/>
        <param name="advertise-frequency" nillable="true"/>
        <param name="connection-idle-timeout" nillable="true"/>
        <param name="http2-initial-window-size" nillable="true"/>
        <param name="http2-max-concurrent-streams" nillable="true"/>
        <param name="http2-enable-push" nillable="true"/>
        <param name="http2-max-frame-size" nillable="true"/>
        <param name="max-request-time" nillable="true"/>
    </params>
</feature-spec>