## Children (2)

- outbound-bind-address
- server

## Provided Capabilities (1)

Name | Dynamic | Other provider points
--- | --- | ---
org.wildfly.io.worker | true | none

## Attributes (11)

- busy-task-thread-count - An estimate of busy threads in the task worker thread pool

  Type | INT
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "An estimate of busy threads in the task worker thread pool",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- core-pool-size - Minimum number of threads to keep in the underlying thread pool even if they are idle. Threads over this limit will be terminated over time specified by task-keepalive attribute.

  Type | INT
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Minimum number of threads to keep in the underlying thread pool even if they are idle. Threads over this limit will be terminated over time specified by task-keepalive attribute.",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- io-thread-count - I/O thread count

  Type | INT
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "I/O thread count",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- io-threads - Specify the number of I/O threads to create for the worker. If not specified, a default will be chosen, which is calculated by cpuCount * 2

  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 | 0
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Specify the number of I/O threads to create for the worker.  If not specified, a default will be chosen, which is calculated by cpuCount * 2",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "min" : 0,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- max-pool-size - The maximum number of threads allowed in the worker task thread pool. Depending on the pool implementation, when this limit is reached tasks which cannot be queued may be rejected. This can be configured using the 'task-max-threads' attribute; see the description of that attribute for details on how this value is determined.

  Type | INT
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "The maximum number of threads allowed in the worker task thread pool. Depending on the pool implementation, when this limit is reached tasks which cannot be queued may be rejected. This can be configured using the 'task-max-threads' attribute; see the description of that attribute for details on how this value is determined.",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- queue-size - An estimate of the number of tasks in the worker queue.

  Type | INT
  Where is the attribute stored? | runtime
  Access Type | metric
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "An estimate of the number of tasks in the worker queue.",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "stability" : "default",
          "access-type" : "metric",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- shutdown-requested - True is shutdown of the pool was requested

  Type | BOOLEAN
  Where is the attribute stored? | runtime
  Access Type | read-only
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "BOOLEAN"
          },
          "description" : "True is shutdown of the pool was requested",
          "expressions-allowed" : false,
          "required" : true,
          "nillable" : false,
          "stability" : "default",
          "access-type" : "read-only",
          "storage" : "runtime",
          "restart-required" : null,
          "capability-reference" : null
      }

- stack-size - The stack size (in bytes) to attempt to use for worker threads.

  Type | LONG
  Default Value | 0
  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 | 0
  Max | 9223372036854775807
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "LONG"
          },
          "description" : "The stack size (in bytes) to attempt to use for worker threads.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 0,
          "min" : 0,
          "max" : 9223372036854775807,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "all-services",
          "capability-reference" : null
      }

- task-core-threads - Specify the starting number of threads for the worker task thread pool.

  Type | INT
  Default Value | 2
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 0
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Specify the starting number of threads for the worker task thread pool.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 2,
          "min" : 0,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- task-keepalive - Specify the number of milliseconds to keep non-core task threads alive.

  Type | INT
  Default Value | 60000
  Is the attribute nillable? | true
  Does the attribute allow expression? | true
  Where is the attribute stored? | configuration
  Access Type | read-write
  Is restarted required? | no-services
  Min | 0
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Specify the number of milliseconds to keep non-core task threads alive.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "default" : 60000,
          "min" : 0,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

- task-max-threads - Specify the maximum number of threads for the worker task thread pool.If not set, a default value used which is calculated by the formula cpuCount * 16,as long as the MaxFileDescriptorCount jmx property allows that number; otherwise the calculation takes that max into account and adjusts accordingly.

  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? | no-services
  Min | 0
  Max | 2147483647
  Stability Level | default
  Raw DMR model |
      {
          "type" : {
              "TYPE_MODEL_VALUE" : "INT"
          },
          "description" : "Specify the maximum number of threads for the worker task thread pool.If not set, a default value used which is calculated by the formula cpuCount * 16,as long as the MaxFileDescriptorCount jmx property allows that number; otherwise the calculation takes that max into account and adjusts accordingly.",
          "expressions-allowed" : true,
          "required" : false,
          "nillable" : true,
          "min" : 0,
          "max" : 2147483647,
          "stability" : "default",
          "access-type" : "read-write",
          "storage" : "configuration",
          "restart-required" : "no-services",
          "capability-reference" : null
      }

## Operations (2)

- add - Adds new worker

  Request Parameter | Type | Required | Expressions Allowed | Default value | Description
  --- | --- | --- | --- | --- | ---
  io-threads | INT | false | true |  | Specify the number of I/O threads to create for the worker. If not specified, a default will be chosen, which is calculated by cpuCount * 2
  stack-size | LONG | false | true | 0 | The stack size (in bytes) to attempt to use for worker threads.
  task-core-threads | INT | false | true | 2 | Specify the starting number of threads for the worker task thread pool.
  task-keepalive | INT | false | true | 60000 | Specify the number of milliseconds to keep non-core task threads alive.
  task-max-threads | INT | false | true |  | Specify the maximum number of threads for the worker task thread pool.If not set, a default value used which is calculated by the formula cpuCount * 16,as long as the MaxFileDescriptorCount jmx property allows that number; otherwise the calculation takes that max into account and adjusts accordingly.

  Raw DMR model |
      {
          "operation-name" : "add",
          "description" : "Adds new worker",
          "request-properties" : {
              "io-threads" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Specify the number of I/O threads to create for the worker.  If not specified, a default will be chosen, which is calculated by cpuCount * 2",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min" : 0,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "stack-size" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "LONG"
                  },
                  "description" : "The stack size (in bytes) to attempt to use for worker threads.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 0,
                  "min" : 0,
                  "max" : 9223372036854775807,
                  "stability" : "default"
              },
              "task-core-threads" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Specify the starting number of threads for the worker task thread pool.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 2,
                  "min" : 0,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "task-keepalive" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Specify the number of milliseconds to keep non-core task threads alive.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "default" : 60000,
                  "min" : 0,
                  "max" : 2147483647,
                  "stability" : "default"
              },
              "task-max-threads" : {
                  "type" : {
                      "TYPE_MODEL_VALUE" : "INT"
                  },
                  "description" : "Specify the maximum number of threads for the worker task thread pool.If not set, a default value used which is calculated by the formula cpuCount * 16,as long as the MaxFileDescriptorCount jmx property allows that number; otherwise the calculation takes that max into account and adjusts accordingly.",
                  "expressions-allowed" : true,
                  "required" : false,
                  "nillable" : true,
                  "min" : 0,
                  "max" : 2147483647,
                  "stability" : "default"
              }
          },
          "reply-properties" : {},
          "stability" : "default",
          "read-only" : false,
          "runtime-only" : false
      }

- remove - Removes worker

  Raw DMR model |
      {
          "operation-name" : "remove",
          "description" : "Removes worker",
          "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.worker

      <feature spec="subsystem.io.worker">
        <param name="worker" value="{resource name}"/>
        <param name="io-threads" value="{value}"/>
        <param name="stack-size" value="{value}"/>
        <param name="task-core-threads" value="{value}"/>
        <param name="task-keepalive" value="{value}"/>
        <param name="task-max-threads" value="{value}"/>
      <feature/>