GCPCallInvoker updates the channel pool(GcpExtensionChannel) for each RPC. The idea is: Before the RPC starts, pick a channel from the channel pool: - if the RPC is bound to a channel, use that channel.

  • if the RPC doesn't bound to a channel, use the one with minimum active streams.
    After the RPC finishes, update the active stream ref count.
    • if the RPC is defined as bind, bind the channel with corresponding key like
      spanner session name.
    • if the RPC is defined as unbind, unbind the channel with the key.
public __construct( $affinity_conf)

    public BidiStreamingCall( $channel, $method, $deserialize, $options)
    public ClientStreamingCall( $channel, $method, $deserialize, $options)
    public createChannelFactory( $hostname, $opts)
    public GetChannel()
    public ServerStreamingCall( $channel, $method, $deserialize, $options)
    public UnaryCall( $channel, $method, $deserialize, $options)
    private $affinity_conf
    private $channel
    © 2020 Bruce Wells
    Search Namespaces \ Classes
    ConfigurationNumbers (0-9.) only