Network.framework extensibility?

Hello,


I am very excited about the new Network.framework, but I am confused as to whether it will be allowed for App developers to implement and register their custom NWProtocol...


The NWProtocol documentation states "The abstract superclass used by Network framework protocols and by custom network protocols that you define", yet all of the necessary NW* classes are marked "public" in the code API and not "open".


Ideally, we would like to implement a custom protocol (on top of UDP) and expose it back as a NWProtocol to the app using it. Is this allowed?

Am I missing something? How can one define a "custom network protocol" if the API is marked "public" and not "open"?


Is there an example somewhere?


Without implementing a custom NWProtocol, is it even possible to register a variation of the available protocols (IP/UDP/TCP/TLS, etc..) but with a custom configuration?


I am so hoping you guys will make it possible for us to implement custom transport protocols! Please, pretty please...


Any info/pointer would be greatly appreciated.


Cheers. G.

Replies

I am confused as to whether it will be allowed for App developers to implement and register their custom

NWProtocol

That’s currently not supported, although it’s not hard to imagine the API being extended to support that in the future. If that’s something you’d like to see, please file an enhancement request describing your requirements. I’d appreciate you posting your bug number, just for the record.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Thanks Quinn!


I would love to file an enhancement request, but there is currently no "Network.framework" module defined in the bugtracker. Where should I file this under?


Cheers. G.

I would love to file an enhancement request, but there is currently no "Network.framework" module defined in the bugtracker.

Yeah, we’re working to fix that (r. 40939576).

Where should I file this under?

Scroll down to the bottom and choose Other. As long as the text of your bug is clear, it’ll make it to the right place.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Ok, I've now created an enhancement request for this (r. 41300660)


Cheers. G.