NPRPC docs

enum PoaDispatchExecutor

Swift

enum PoaDispatchExecutor

Where servant dispatch runs for objects activated on a POA.

  • inlineOnTransportThread: default — SHM ring / transport thread (lowest latency; not MainActor-safe).
  • main: SHM ring fire-and-forgets the whole request onto DispatchQueue.main (no Asio hop). Servant + reply run on main.
  • queue: same for a custom serial DispatchQueue (required for FIFO SHM reply matching).
  • loop: same for a thread that is not a DispatchQueue at all — see PoaExecutor.

Avoid blocking main on NPRPC work that itself waits on main.

nprpc_swift/Sources/NPRPC/Poa.swift:97

Cases

case inlineOnTransportThread

On the transport thread; the default.

nprpc_swift/Sources/NPRPC/Poa.swift:99

case main

On DispatchQueue.main.

nprpc_swift/Sources/NPRPC/Poa.swift:101

case queue(DispatchQueue)

On a custom serial queue.

nprpc_swift/Sources/NPRPC/Poa.swift:103

case loop(any PoaExecutor)

On a thread with its own event loop; see PoaExecutor.

nprpc_swift/Sources/NPRPC/Poa.swift:105