grpcbox
grpcbox copied to clipboard
Pick worker with established connection
Pick a subchannel which connection is established
- When a grpcbox_channel adds a grpcbox_subchannel, the grpcbox_subchannel will try to establish an HTTP/2 connection.
- If the HTTP/2 connection is successfully established, the grpcbox_subchannel will add itself to the {channel, active} pool. If the HTTP/2 connection is not successfully established, the grpcbox_subchannel will retry establishing the connection at a specified interval.
- The grpcbox_subchannel will check the HTTP/2 connection status by itself, and if it detects a disconnection, it will remove itself from the {channel, active} pool.
- When an application needs to choose a connected grpcbox_subchannel with an established HTTP/2 connection, it can select an available grpcbox_subchannel from the {channel, active} pool.
- When a grpcbox_subchannel is no longer needed, it should be removed from the {channel, active} pool.
Please provide a clearer description by answering the following questions:
- What specific problem did you encounter?
- Why do you want to introduce this feature?
- How do you plan to implement it?
Thanks! I like the idea. It'll take me a bit to get around to a thorough review.
Curious, did you hit this as an issue in your usage?
@sevenhe1205 Can you rebase these changes?