• Creates an AsyncGenerator that can be used to upload a blob to multiple servers

    Type Parameters

    Parameters

    • servers: Iterable<S, any, any>

      A Set or Array of servers to upload to

    • blob: B

      The blob to be uploaded

    • Optional opts: MultiServerUploadOptions<S, B>

    Returns Promise<Map<S, BlobDescriptor>>

    The BlobDescriptor if successful

    flowchart LR
    isMedia{"isMedia"} -- yes --> media["/media"]
    isMedia -- no --> upload["/upload"]
    media --> ifmedia{"Successful"}
    ifmedia -- yes --> next["Next server"]
    ifmedia -- no --> iffallback{"fallback"}
    iffallback -- yes --> upload
    iffallback -- no --> abort
    upload -- complete --> next
    next --> uploaded{"Uploaded"}
    uploaded -- yes --> mirror["/mirror"]
    uploaded -- no --> upload
    mirror --> isMirror{"Successful"}
    isMirror -- yes --> next
    isMirror -- no --> ifMediaAbort{"isMedia"}
    ifMediaAbort -- no --> upload
    ifMediaAbort -- yes --> next