• Phil Pluckthun's avatar
    (core) - Make Client more forgiving by sharing result sources that emit cached results (#1515) · e8ae745b
    Phil Pluckthun authored
    * Replace operation semaphore with shared behavior source
    
    Replace the client's counting of active operations with a
    single, shared operation result source in a Map. This achieves
    the same semaphore behaviour but replaces it with a binary
    semaphore-like cache, where the cached source remembers the
    last active result.
    
    * Prevent emitting cached result if a new result emitted first
    
    * Reuse client.query() in client.readQuery()
    
    * Add tests for shared source behaviour
    
    * Abstract replay logic in Client
    
    * Add test for shared subscription behaviour
    
    * Fix linting issues
    e8ae745b