Lines Matching refs:shared_addr
103 create_downstream_key(const std::shared_ptr<SharedDownstreamAddr> &shared_addr,
108 addrs.resize(shared_addr->addrs.size());
110 for (auto &a : shared_addr->addrs) {
128 std::get<1>(dkey) = shared_addr->redirect_if_not_tls;
130 auto &affinity = shared_addr->affinity;
136 auto &timeout = shared_addr->timeout;
140 std::get<10>(dkey) = shared_addr->dnf;
248 auto &shared_addr = g->shared_addr;
249 for (auto &addr : shared_addr->addrs) {
279 auto shared_addr = std::make_shared<SharedDownstreamAddr>();
281 shared_addr->addrs.resize(src.addrs.size());
282 shared_addr->affinity.type = src.affinity.type;
284 shared_addr->affinity.cookie.name =
285 make_string_ref(shared_addr->balloc, src.affinity.cookie.name);
287 shared_addr->affinity.cookie.path =
288 make_string_ref(shared_addr->balloc, src.affinity.cookie.path);
290 shared_addr->affinity.cookie.secure = src.affinity.cookie.secure;
291 shared_addr->affinity.cookie.stickiness = src.affinity.cookie.stickiness;
293 shared_addr->affinity_hash = src.affinity_hash;
294 shared_addr->affinity_hash_map = src.affinity_hash_map;
295 shared_addr->redirect_if_not_tls = src.redirect_if_not_tls;
296 shared_addr->dnf = src.dnf;
297 shared_addr->timeout.read = src.timeout.read;
298 shared_addr->timeout.write = src.timeout.write;
302 auto &dst_addr = shared_addr->addrs[j];
305 dst_addr.host = make_string_ref(shared_addr->balloc, src_addr.host);
307 make_string_ref(shared_addr->balloc, src_addr.hostport);
311 dst_addr.group = make_string_ref(shared_addr->balloc, src_addr.group);
316 dst_addr.sni = make_string_ref(shared_addr->balloc, src_addr.sni);
326 shared_addr->mruby_ctx = mruby::create_mruby_context(src.mruby_file);
327 assert(shared_addr->mruby_ctx);
328 shared_mruby_ctxs.emplace(src.mruby_file, shared_addr->mruby_ctx);
330 shared_addr->mruby_ctx = (*mruby_ctx_it).second;
337 auto dkey = create_downstream_key(shared_addr, src.mruby_file);
341 auto shared_addr_ptr = shared_addr.get();
343 for (auto &addr : shared_addr->addrs) {
359 for (auto &addr : shared_addr->addrs) {
364 util::shuffle(std::begin(shared_addr->addrs),
365 std::end(shared_addr->addrs), randgen_,
368 if (shared_addr->affinity.type == SessionAffinity::NONE) {
371 for (auto &addr : shared_addr->addrs) {
378 shared_addr->wgs = std::vector<WeightGroup>(num_wgs);
380 for (auto &addr : shared_addr->addrs) {
383 wg = &shared_addr->wgs[--num_wgs];
396 shared_addr->pq.push(
402 dst->shared_addr = shared_addr;
411 dst->shared_addr = g->shared_addr;