<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "Tor",
  "identifier" : "/documentation/Tor/TorState/isOperational",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Tor"
    ],
    "preciseIdentifier" : "s:3Tor0A5StateO13isOperationalSbvp"
  },
  "title" : "isOperational"
}
-->

# isOperational

`true` iff this state is [`TorState.running`](/documentation/Tor/TorState/running) — i.e., Tor is accepting
control commands.

```
var isOperational: Bool { get }
```

## Return Value

`true` for `.running`, `false` for every other case.

## Discussion

Useful as a guard for methods that depend on the control socket
being reachable. Does **not** imply bootstrap completion (see the
type-level `Important` note). Callers that need “ready to carry
user traffic” semantics should additionally observe
[`TorEvent.bootstrap(progress:tag:summary:)`](/documentation/Tor/TorEvent/bootstrap(progress:tag:summary:)) for `progress == 100`.