func build()

in Sources/XCRemoteCache/Network/RemoteNetworkClientAbstractFactory.swift [50:67]


    func build() throws -> RemoteNetworkClient {
        let downloadURLBuilder = try urlBuilderFactory(downloadStreamURL)
        guard !upstreamStreamURL.isEmpty else {
            return RemoteNetworkClientImpl(networkClient, downloadURLBuilder)
        }
        switch mode {
        case .producer, .producerFast:
            let upstreamBuilders = try upstreamStreamURL.map(urlBuilderFactory)
            return ReplicatedRemotesNetworkClient(
                networkClient,
                download: downloadURLBuilder,
                uploads: upstreamBuilders,
                uploadBatchSize: uploadBatchSize
            )
        case .consumer:
            return RemoteNetworkClientImpl(networkClient, downloadURLBuilder)
        }
    }