grpc / grpc-swift

The Swift language implementation of gRPC.
Apache License 2.0
2.02k stars 416 forks source link

Multipath TCP support #1224

Open Antonito opened 3 years ago

Antonito commented 3 years ago

Is your feature request related to a problem? Please describe it.

Following discussion from https://github.com/grpc/grpc-swift/issues/1044, it'd be great to have a way to set Network.framework multipathServiceType.

This should help supporting seamless network interface transition, especially on mobile devices.

Describe the solution you'd like

@Lukasa proposed a solution similar to what's been implemented to support Network.framework TLS (NWProtocolOptions.TLS)

qusc commented 3 years ago

Does anybody have any guidance on how this would need to be implemented?

I guess we would need to allow setting the NWParameters.multipathServiceType of Network.framework when creating the NIOTSEventLoopGroup, right? Would this need modification to NIO Transport Services?

Lukasa commented 3 years ago

Yes, a change to NIO Transport Services would be needed to add an appropriate new channel option.