lib/async/redis/client.rb in async-redis-0.10.1 vs lib/async/redis/client.rb in async-redis-0.11.0

- old
+ new

@@ -5,20 +5,20 @@ # Copyright, 2018, by Huba Nagy. # Copyright, 2019, by Mikael Henriksson. # Copyright, 2019, by David Ortiz. # Copyright, 2020, by Salim Semaoune. -require_relative 'context/pipeline' -require_relative 'context/transaction' -require_relative 'context/subscribe' -require_relative 'endpoint' +require_relative "context/pipeline" +require_relative "context/transaction" +require_relative "context/subscribe" +require_relative "endpoint" -require 'io/endpoint/host_endpoint' -require 'async/pool/controller' -require 'protocol/redis/methods' +require "io/endpoint/host_endpoint" +require "async/pool/controller" +require "protocol/redis/methods" -require 'io/stream' +require "io/stream" module Async module Redis # Legacy. ServerError = ::Protocol::Redis::ServerError @@ -87,11 +87,11 @@ def initialize(endpoint = Endpoint.local, protocol: endpoint.protocol, **options) @endpoint = endpoint @protocol = protocol - @pool = connect(**options) + @pool = make_pool(**options) end attr :endpoint attr :protocol @@ -111,10 +111,17 @@ end.wait end protected - def connect(**options) + def assign_default_tags(tags) + tags[:endpoint] = @endpoint.to_s + tags[:protocol] = @protocol.to_s + end + + def make_pool(**options) + self.assign_default_tags(options[:tags] ||= {}) + Async::Pool::Controller.wrap(**options) do peer = @endpoint.connect # We will manage flushing ourselves: peer.sync = true