anchor.diff:    mc_monitor:start_link(Topology, self(), {Host, Port}, Topts, Wopts).
   
   %% @private
  -init_pool(#state{host = Host, port = Port, max_pool = MaxPool, worker_opts = Wopts}) ->
  +init_pool(#state{host = Host, port = Port, size = Size, max_overflow = Overflow, worker_opts = Wopts}) ->
     WO = lists:append([{host, Host}, {port, Port}], Wopts),
  -  mc_pool_sup:start_pool(mc_worker, [{size, MaxPool}, {max_overflow, 0}], WO).
  +  mc_pool_sup:start_pool(mc_worker, [{size, Size}, {max_overflow, Overflow}], WO).
   
   %% @private
   parse_seed(Addr) when is_binary(Addr) ->
  
positive.code:   rs = undefined,
    type = undefined,
    me,
    max_pool,
    connect_to,
    socket_to,
    topology,
  
negative.code: init([Topology, Addr, TopologyOptions, Wopts]) ->
    process_flag(trap_exit, true),
    {Host, Port} = parse_seed(Addr),
    PoolSize = mc_utils:get_value(pool_size, TopologyOptions, 10),
    Overflow = mc_utils:get_value(max_overflow, TopologyOptions, 10),
    ConnectTimeoutMS = mc_utils:get_value(connectTimeoutMS, TopologyOptions, 20000),
    SocketTimeoutMS = mc_utils:get_value(socketTimeoutMS, TopologyOptions, 100),
    ReplicaSet = mc_utils:get_value(rs, TopologyOptions, undefined),
    MRef = erlang:monitor(process, Topology),
    gen_server:cast(self(), init_monitor),
    {ok, #state{
  