MakeThreadSafe

@frozen
public struct MakeThreadSafe<Upstream> : Publisher where Upstream : Publisher, Upstream.Output : ThreadConfined

A publisher which makes receive(on:) work for streams of thread-confined objects

Create using .threadSafeReference()

  • Specifies the scheduler on which to receive elements from the publisher.

    This publisher converts each value emitted by the upstream publisher to a ThreadSafeReference, passes it to the target scheduler, and then converts back to the original type.

    Declaration

    Swift

    public func receive<S>(on scheduler: S) -> DeferredHandover<Upstream, S> where S : Scheduler

    Parameters

    scheduler

    The serial dispatch queue to receive values on.

    Return Value

    A publisher which delivers values to the given scheduler.