Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Netty #4058

Open
SubJunk opened this issue Sep 2, 2023 · 4 comments
Open

Remove Netty #4058

SubJunk opened this issue Sep 2, 2023 · 4 comments

Comments

@SubJunk
Copy link
Member

SubJunk commented Sep 2, 2023

@SurfaceS
Copy link
Contributor

SurfaceS commented Sep 4, 2023

As I understand, Netty was used to replace the first old (removed now) sockets server, to serve HTTP requests.
It's an socket nio server, so low level (com.sun.net.httpserver is high level).
Low level was important as upnp is adding some methods (UNSUBSCRIBE, M-SEARCH, etc) that high level HTTP implementation does not handle.
Also, high level HTTP implementation often strictly follow HTTP things, so you cannot, for example, set a transfer size that not match what you send.

I tried few year ago to upgrade to Netty v4 without success (it was working, but transcoded stream fails).

Did you tried the JavaHttpServer ?
Maybe we can switch to it if it works well for all (or fix if not) ?.

Or switch to Apache Http Core 5 server ?

@SubJunk
Copy link
Member Author

SubJunk commented Sep 7, 2023

I'll do some testing with JavaHttpServer

@SubJunk
Copy link
Member Author

SubJunk commented Sep 7, 2023

Should I do JUPnP+ (Java) or JUPnP (Java)?

@SurfaceS
Copy link
Contributor

SurfaceS commented Sep 7, 2023

as the default is JUPnP (Netty), I think it is better to start with JUPnP (Java).

JUPnP+ add ContentDirectory service inside JUPnP.

On V14, it's also create DIDL from brand new classes that handle ContentDirectory V4 things, but I need to finish it (DLNA).

The final long term goal could be to use all UPnP things under JUPnP, served by the common JDK HTTPServer, as it use nio now.

UPnP things -> JUPnP services.
Media things (thumbnails, streams, media infos, etc) -> javahttpserver.

Then we will have only one "engine" to manage with, and things will be well splitted between the upnp services and the media server itself.

@SubJunk SubJunk changed the title Update Netty to v4 Remove Netty Nov 9, 2023
@SurfaceS SurfaceS mentioned this issue May 14, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants