## Provided Capabilities (2)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.io.buffer-pool | true | none
org.wildfly.undertow.byte-buffer-pool | true | /subsystem=undertow/byte-buffer-pool=*

## Attributes (3)

- buffer-size - The size of each buffer slice in bytes, if not set optimal value is calculated based on available RAM resources in your system.

  Type | INT
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The size of each buffer slice in bytes, if not set optimal value is calculated based on available RAM resources in your system.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- buffers-per-slice - How many buffers per slice, if not set optimal value is calculated based on available RAM resources in your system.

  Type | INT
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Min | 1
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "How many buffers per slice, if not set optimal value is calculated based on available RAM resources in your system.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "min" : 1,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- direct-buffers - Does the buffer pool use direct buffers, some platforms don't support direct buffers

  Type | BOOLEAN
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | all-services
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "Does the buffer pool use direct buffers, some platforms don't support direct buffers",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

## Operations (2)

- add - Adds new buffer pool

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  buffer-size | INT | false | true |  | The size of each buffer slice in bytes, if not set optimal value is calculated based on available RAM resources in your system.
  buffers-per-slice | INT | false | true |  | How many buffers per slice, if not set optimal value is calculated based on available RAM resources in your system.
  direct-buffers | BOOLEAN | false | true |  | Does the buffer pool use direct buffers, some platforms don't support direct buffers

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Adds new buffer pool",
          "request-properties" : {
              "buffer-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "The size of each buffer slice in bytes, if not set optimal value is calculated based on available RAM resources in your system.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "buffers-per-slice" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "How many buffers per slice, if not set optimal value is calculated based on available RAM resources in your system.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min" : 1,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "direct-buffers" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "BOOLEAN"
                  },
                  "description" : "Does the buffer pool use direct buffers, some platforms don't support direct buffers",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Removes buffer pool

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Removes buffer pool",
          "request-properties" : {},
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "restart-required" : "all-services",
          "runtime-only" : false
      }

## Galleon Features

Galleon features are to be used when creating Galleon feature-packs.

- subsystem.io.buffer-pool

      <feature spec="subsystem.io.buffer-pool">
        <param name="buffer-pool" value="{resource name}"/>
        <param name="buffer-size" value="{value}"/>
        <param name="buffers-per-slice" value="{value}"/>
        <param name="direct-buffers" value="{value}"/>
      <feature/>