[LON-CAPA-cvs] cvs: loncom(version_1_3_X_memcached) /lonnet/perl lonnet.pm
albertel
lon-capa-cvs@mail.lon-capa.org
Wed, 16 Feb 2005 22:57:33 -0000
albertel Wed Feb 16 17:57:33 2005 EDT
Modified files: (Branch: version_1_3_X_memcached)
/loncom/lonnet/perl lonnet.pm
Log:
- backporting 1.598.2.3
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.587.2.3.2.13 loncom/lonnet/perl/lonnet.pm:1.587.2.3.2.14
--- loncom/lonnet/perl/lonnet.pm:1.587.2.3.2.13 Tue Feb 15 12:14:51 2005
+++ loncom/lonnet/perl/lonnet.pm Wed Feb 16 17:57:33 2005
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.587.2.3.2.13 2005/02/15 17:14:51 albertel Exp $
+# $Id: lonnet.pm,v 1.587.2.3.2.14 2005/02/16 22:57:33 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -559,12 +559,12 @@
# ---------------------- Find the homebase for a user from domain's lib servers
+my %homecache;
sub homeserver {
my ($uname,$udom,$ignoreBadCache)=@_;
my $index="$uname:$udom";
- my ($result,$cached)=&is_cached_new('home',$index);
- if (defined($cached)) { return $result; }
+ if (exists($homecache{$index})) { return $homecache{$index}; }
my $tryserver;
foreach $tryserver (keys %libserv) {
next if ($ignoreBadCache ne 'true' &&
@@ -572,7 +572,7 @@
if ($hostdom{$tryserver} eq $udom) {
my $answer=reply("home:$udom:$uname",$tryserver);
if ($answer eq 'found') {
- return &do_cache_new('home',$index,$tryserver,86400);
+ return $homecache{$index}=$tryserver;
} elsif ($answer eq 'no_host') {
$badServerCache{$tryserver}=1;
}
@@ -1023,7 +1023,7 @@
# &logthis("load_cache_item $name took ".(&Time::HiRes::time()-$starttime));
}
-my $to_remember=20;
+my $to_remember=-1;
my %remembered;
my %accessed;
my $kicks=0;
@@ -1076,6 +1076,7 @@
sub make_room {
my ($id,$value,$debug)=@_;
$remembered{$id}=$value;
+ if ($to_remember<0) { return; }
$accessed{$id}=[&gettimeofday()];
if (scalar(keys(%remembered)) <= $to_remember) { return; }
my $to_kick;
@@ -1095,6 +1096,7 @@
sub purge_remembered {
&logthis("Tossing ".scalar(keys(%remembered)));
+ &logthis(sprintf("%-20s is %s",'%remembered',length(&freeze(\%remembered))));
undef(%remembered);
undef(%accessed);
}