version 1.1172.2.118.2.10, 2020/10/25 23:51:53
|
version 1.1172.2.118.2.11, 2020/10/26 01:32:59
|
Line 1082 sub check_for_balancer_cookie {
|
Line 1082 sub check_for_balancer_cookie {
|
return ($otherserver,$cookie); |
return ($otherserver,$cookie); |
} |
} |
|
|
|
sub updatebalcookie { |
|
my ($cookie,$balancer,$lastentry)=@_; |
|
if ($cookie =~ /^($match_domain)\_($match_username)\_[a-f0-9]{32}$/) { |
|
my ($udom,$uname) = ($1,$2); |
|
my $uprimary_id = &domain($udom,'primary'); |
|
my $uintdom = &internet_dom($uprimary_id); |
|
my $intdom = &internet_dom($balancer); |
|
my $serverhomedom = &host_domain($balancer); |
|
if (($uintdom ne '') && ($uintdom eq $intdom)) { |
|
return &reply('updatebalcookie:'.&escape($cookie).':'.&escape($lastentry),$balancer); |
|
} |
|
} |
|
return; |
|
} |
|
|
sub delbalcookie { |
sub delbalcookie { |
my ($cookie,$balancer) =@_; |
my ($cookie,$balancer) =@_; |
if ($cookie =~ /^($match_domain)\_($match_username)\_[a-f0-9]{32}$/) { |
if ($cookie =~ /^($match_domain)\_($match_username)\_[a-f0-9]{32}$/) { |
Line 1091 sub delbalcookie {
|
Line 1106 sub delbalcookie {
|
my $intdom = &internet_dom($balancer); |
my $intdom = &internet_dom($balancer); |
my $serverhomedom = &host_domain($balancer); |
my $serverhomedom = &host_domain($balancer); |
if (($uintdom ne '') && ($uintdom eq $intdom)) { |
if (($uintdom ne '') && ($uintdom eq $intdom)) { |
return &reply("delbalcookie:$cookie",$balancer); |
return &reply('delbalcookie:'.&escape($cookie),$balancer); |
} |
} |
} |
} |
} |
} |
Line 1578 sub check_loadbalancing {
|
Line 1593 sub check_loadbalancing {
|
if ($domneedscache) { |
if ($domneedscache) { |
&do_cache_new('loadbalancing',$domneedscache,$is_balancer,$cachetime); |
&do_cache_new('loadbalancing',$domneedscache,$is_balancer,$cachetime); |
} |
} |
if ($is_balancer) { |
if (($is_balancer) && ($caller ne 'switchserver')) { |
my $lowest_load = 30000; |
my $lowest_load = 30000; |
if (ref($offloadto) eq 'HASH') { |
if (ref($offloadto) eq 'HASH') { |
if (ref($offloadto->{'primary'}) eq 'ARRAY') { |
if (ref($offloadto->{'primary'}) eq 'ARRAY') { |
Line 1618 sub check_loadbalancing {
|
Line 1633 sub check_loadbalancing {
|
} |
} |
} |
} |
} |
} |
unless ($homeintdom) { |
} |
undef($setcookie); |
if (($is_balancer) && (!$homeintdom)) { |
} |
undef($setcookie); |
} |
} |
return ($is_balancer,$otherserver,$setcookie); |
return ($is_balancer,$otherserver,$setcookie); |
} |
} |
Line 8535 sub get_commblock_resources {
|
Line 8550 sub get_commblock_resources {
|
if ($mapsymb) { |
if ($mapsymb) { |
if (ref($navmap)) { |
if (ref($navmap)) { |
my $mapres = $navmap->getBySymb($mapsymb); |
my $mapres = $navmap->getBySymb($mapsymb); |
@to_test = $mapres->retrieveResources($mapres,undef,0,0,0,1); |
if (ref($mapres)) { |
foreach my $res (@to_test) { |
my $first = $mapres->map_start(); |
my $symb = $res->symb(); |
my $finish = $mapres->map_finish(); |
next if ($symb eq $mapsymb); |
my $it = $navmap->getIterator($first,$finish,undef,0,0); |
if ($symb ne '') { |
if (ref($it)) { |
@interval=&EXT("resource.0.interval",$symb); |
my $res; |
if ($interval[1] eq 'map') { |
while ($res = $it->next(undef,1)) { |
last; |
next unless (ref($res)); |
|
my $symb = $res->symb(); |
|
next if (($symb eq $mapsymb) || ($symb eq '')); |
|
@interval=&EXT("resource.0.interval",$symb); |
|
if ($interval[1] eq 'map') { |
|
if ($res->answerable()) { |
|
push(@to_test,$res); |
|
last; |
|
} |
|
} |
} |
} |
} |
} |
} |
} |