Skip to content

[feat] parallel resolution #9

Open
@Kikobeats

Description

@Kikobeats

Describe the feature

I recently installed AdGuard Home on my local network and enabled the following feature:

Image

It's great because you no longer have to worry about whether your DNS is fast or not – simply the fastest will be used.

I was wondering if Tangerine can implement this way of DNS resolution.

Checking the Tangerine source code, I can see requests are resolved in series, so the server index in the array is important:

for (const server of servers) {

This parallel resolution could be achievable using p-any; it also supports cancellation, so as soon as the first promise for getting the DNS resolution is resolved, the rest will be cancelled, preventing a waste of resources.

WDYT?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions