transferum
    Preparing search index...

    Function linkTransfers

    • Links an output transfer (LHS) to an input transfer (RHS).

      Delegates to DefaultLinkStrategy.link. The strategy is determined by capability flags. Sync operations take priority: if both transfers support sync linking, it is used. Async strategies are applied only when sync is not applicable.

      Sync strategies:

      • subscribable → pushable: reactive subscription
      • pullable → pollingProxy: active polling via setFetcher
      • subscribable → pollingProxy: subscription + last-value buffer

      Async strategies:

      • subscribable → asyncPushable: subscription + asyncPush with .catch()
      • asyncPullable → asyncPollingProxy: active polling via setAsyncFetcher
      • pullable → asyncPollingProxy: sync-pull wrapped in an async fetcher
      • subscribable → asyncPollingProxy: subscription + buffer + async fetcher

      Errors:

      • asyncPullable → sync-pollingProxy: sync poller cannot await
      • pullable/asyncPullable → pushable/asyncPushable: needs a Bridge/Triggerable

      Rejection handling for subscribable → asyncPushable: .catch() is always called. If options.onError is provided, it is invoked via handleError() and the rejection is suppressed. Without onError, handleError() rethrows — resulting in an unhandled promise rejection (the source's subscription remains active).

      Ordering for subscribable → asyncPushable: No ordering guarantees — fast sync notifications from LHS can overtake pending asyncPush calls. A serializer is a separate task (not in this queue).

      Type Parameters

      Parameters

      Returns SubscriberInterface

      SubscriberInterface for breaking the link