# SelectOptions

Interface for declaring options for select calls in topologies.

See Also:

- [PStates documentation](/content/docs/~/pstates.html)

---

## Nested Class Summary

### Nested Classes

| Modifier and Type         | Interface                          | Description                                                            |
|---------------------------|------------------------------------|------------------------------------------------------------------------|
| `static class`            | `SelectOptions.CaptureSelectOptions` |                                                                        |
| `static interface`        | `SelectOptions.Impl`              |                                                                        |

---

## Method Summary

### Static Methods

| Modifier and Type            | Method             | Description                                                      |
|------------------------------|--------------------|------------------------------------------------------------------|
| `static SelectOptions.Impl`  | `allowYield()`     | Allow the select call to yield during execution in order to not run for too long at a time on the task thread. |
| `static SelectOptions.Impl`  | `create()`         | Creates an empty SubiSelectOptionsndexOptions.                 |

---

## Method Details

### create

static [SelectOptions.Impl](/content/javadoc/com/rpl/rama/SelectOptions.Impl.html "interface in com.rpl.rama"/index.html) create()

Creates an empty SubiSelectOptionsndexOptions. `SelectOptions.allowYield()` is the same as `SelectOptions.create().allowYield()`.

### allowYield

static [SelectOptions.Impl](/content/javadoc/com/rpl/rama/SelectOptions.Impl.html "interface in com.rpl.rama"/index.html) allowYield()

Allow the select call to yield during execution in order to not run for too long at a time on the task thread. Navigators will automatically paginate while traversing structures to maximize efficiency. A stable view of the PState is used for the full select, so even if the path yields many times during execution, it's always traversing the value of the PState when the select began.

Yielding is disallowed by default for colocated PStates and is always allowed for mirror PStates.
