[PR #5735] [CLOSED] Happy Eyeballs (IP6 fallback to IP4) implementation of http client. #10454

Closed
opened 2025-12-22 08:03:56 +01:00 by backuprepo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/5735
Author: @BaronGreenback
Created: 4/9/2021
Status: Closed

Base: masterHead: Ipv4Fallback


📝 Commits (10+)

📊 Changes

6 files changed (+162 additions, -10 deletions)

View changed files

📝 Emby.Dlna/Eventing/DlnaEventManager.cs (+1 -1)
📝 Emby.Dlna/PlayTo/SsdpHttpClient.cs (+3 -3)
Jellyfin.Networking/HappyEyeballs/HttpClientExtension.cs (+119 -0)
📝 Jellyfin.Networking/Manager/NetworkManager.cs (+14 -3)
📝 Jellyfin.Server/Startup.cs (+18 -1)
📝 MediaBrowser.Common/Net/NamedClient.cs (+7 -2)

📄 Description

Implementation of the default http client implementing happy eyeballs. https://github.com/jellyfin/jellyfin/issues/1002

Default implementation now uses happy eyeballs. (IP6 with IP4 fallback).

  1. This implementation will cease using IPv6 in case of exception.
    If this exception is due to physical network changes NetworkManager will reset the IP6 capability, which will re-enable the functionality.

  2. IP6 functionality is controlled via the network.xml. If, for some reason, NetworkManager hasn't been instantiated, IPv4 will be used. (thinking of testing)

  3. This implementation is ignored by the DLNA sub-system, which continues to use single attempt due to it accessing IP addresses.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/5735 **Author:** [@BaronGreenback](https://github.com/BaronGreenback) **Created:** 4/9/2021 **Status:** ❌ Closed **Base:** `master` ← **Head:** `Ipv4Fallback` --- ### 📝 Commits (10+) - [`8b94142`](https://github.com/jellyfin/jellyfin/commit/8b9414298cd805041041836bcb7702c35b7f95d2) Created named http client. - [`7324278`](https://github.com/jellyfin/jellyfin/commit/732427874aad6d959bfd37330e576395f3ae4249) Added licence. - [`0b9b26c`](https://github.com/jellyfin/jellyfin/commit/0b9b26c4e4b4940087519f21355edf6ef5928460) changed default client - [`4759f90`](https://github.com/jellyfin/jellyfin/commit/4759f90dd88b4f3e2b10c3d548d26c8b3196f1c7) editted comment - [`af37024`](https://github.com/jellyfin/jellyfin/commit/af3702449dd40349d3a16d8eb715c9f4734cec33) added using on tokens - [`4d1e73b`](https://github.com/jellyfin/jellyfin/commit/4d1e73b5482deca133d25fde5eefe64c01d86bbb) changed to null - [`6743bd8`](https://github.com/jellyfin/jellyfin/commit/6743bd8d64882d7ba3d9df9808c88eebc039433a) Update Jellyfin.Server/Startup.cs - [`83e1b55`](https://github.com/jellyfin/jellyfin/commit/83e1b552e1e25c18607ea390a0b5580d69e47645) Updated with master - [`bd0eb97`](https://github.com/jellyfin/jellyfin/commit/bd0eb978034652f220a77fb40547f495585cffac) Update Startup.cs - [`5586e76`](https://github.com/jellyfin/jellyfin/commit/5586e766661540da297274d3fb3c9ef55de333df) Merge remote-tracking branch 'upstream/master' into Ipv4Fallback ### 📊 Changes **6 files changed** (+162 additions, -10 deletions) <details> <summary>View changed files</summary> 📝 `Emby.Dlna/Eventing/DlnaEventManager.cs` (+1 -1) 📝 `Emby.Dlna/PlayTo/SsdpHttpClient.cs` (+3 -3) ➕ `Jellyfin.Networking/HappyEyeballs/HttpClientExtension.cs` (+119 -0) 📝 `Jellyfin.Networking/Manager/NetworkManager.cs` (+14 -3) 📝 `Jellyfin.Server/Startup.cs` (+18 -1) 📝 `MediaBrowser.Common/Net/NamedClient.cs` (+7 -2) </details> ### 📄 Description Implementation of the default http client implementing happy eyeballs. https://github.com/jellyfin/jellyfin/issues/1002 Default implementation now uses happy eyeballs. (IP6 with IP4 fallback). 1) This implementation will cease using IPv6 in case of exception. If this exception is due to physical network changes NetworkManager will reset the IP6 capability, which will re-enable the functionality. 2) IP6 functionality is controlled via the network.xml. If, for some reason, NetworkManager hasn't been instantiated, IPv4 will be used. (thinking of testing) 3) This implementation is ignored by the DLNA sub-system, which continues to use single attempt due to it accessing IP addresses. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
backuprepo 2025-12-22 08:03:56 +01:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#10454
No description provided.