<!--
{
  "availability" : [
    "iOS: 27.3.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AccessoryTransportExtension",
  "identifier" : "/documentation/AccessoryTransportExtension/AccessoryGPUWorker/FeatureSession/Handler",
  "metadataVersion" : "0.1.0",
  "role" : "Type Alias",
  "symbol" : {
    "kind" : "Type Alias",
    "modules" : [
      "Accessory Transport Extension"
    ],
    "preciseIdentifier" : "s:27AccessoryTransportExtension0A9GPUWorkerV14FeatureSessionC7Handlera"
  },
  "title" : "AccessoryGPUWorker.FeatureSession.Handler"
}
-->

# AccessoryGPUWorker.FeatureSession.Handler

A handler type for the session’s transport extension.

```
typealias Handler = AccessoryFeatureRuntimeSessionHandler<AccessoryGPUWorker.FeatureSession>
```

## Discussion

Create a handler type that conforms to this type alias to receive events from an [`AccessoryGPUWorker.FeatureSession`](/documentation/AccessoryTransportExtension/AccessoryGPUWorker/FeatureSession). Because each feature declares its own `Handler` type alias, your transport extension needs a distinct handler type for each feature it supports: the compiler rejects a handler written for [`AccessoryWorker.FeatureSession`](/documentation/AccessoryTransportExtension/AccessoryWorker/FeatureSession) if you pass it to the feature’s session, or any other feature’s session. Return an instance of your handler from the factory closure that you pass to [`makeFeatureSession(_:)`](/documentation/AccessoryTransportExtension/AccessoryTransportSession/makeFeatureSession(_:)).

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)