I'm building out a Swift wrapper for SRT (a transport that is gaining some traction in the video industry) and am trying to build this wrapper to fit within the swift-nio paradigm so that I can use it in a similar way to TCP or UDP within my projects.
That said I'm finding that there is just a ton of stuff I need to copy over because of access levels. For example, protocols such as "BaseSocketProtocol", "ServerSocketProtocol" and "SocketProtocol". Similarly with Channels it looks like I need to copy over BaseSocketChannel and probably a bunch of other stuff.
I think in the end I'll probably give up on this idea of modelling it after swift-nio for the time because because so much stuff needs to be copied and it would be a nightmare to keep synchronized. It would be great if these facilities were publicly accessible though so that we could make swift-nio compatible extensions without having to copy half the project. I don't imagine SRT is a thing that would be interesting for the main project since it's pretty niche, but it would be good to have some level of interoperability.