Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.587.2.3.2.6 and 1.587.2.3.2.7

version 1.587.2.3.2.6, 2005/02/14 02:22:25 version 1.587.2.3.2.7, 2005/02/14 03:11:07
Line 1028  my %accessed; Line 1028  my %accessed;
 my $kicks=0;  my $kicks=0;
 my $hits=0;  my $hits=0;
 sub devalidate_cache_new {  sub devalidate_cache_new {
     my ($name,$id) = @_;      my ($name,$id,$debug) = @_;
     if (0) { &Apache::lonnet::logthis("deleting $name:$id"); }      if ($debug) { &Apache::lonnet::logthis("deleting $name:$id"); }
     $id=&escape($name.':'.$id);      $id=&escape($name.':'.$id);
     $memcache->delete($id);      $memcache->delete($id);
     delete($remembered{$id});      delete($remembered{$id});
Line 1038  sub devalidate_cache_new { Line 1038  sub devalidate_cache_new {
   
 sub is_cached_new {  sub is_cached_new {
     my ($name,$id,$debug) = @_;      my ($name,$id,$debug) = @_;
     $debug=0;  
     $id=&escape($name.':'.$id);      $id=&escape($name.':'.$id);
     if (exists($remembered{$id})) {      if (exists($remembered{$id})) {
  if ($debug) { &Apache::lonnet::logthis("Earyl return $id of $remembered{$id} "); }   if ($debug) { &Apache::lonnet::logthis("Earyl return $id of $remembered{$id} "); }
Line 1051  sub is_cached_new { Line 1050  sub is_cached_new {
  if ($debug) { &Apache::lonnet::logthis("getting $id is not defined"); }   if ($debug) { &Apache::lonnet::logthis("getting $id is not defined"); }
  return (undef,undef);   return (undef,undef);
     }      }
     &make_room($id,$value);      &make_room($id,$value,$debug);
     if ($value eq '__undef__') {      if ($value eq '__undef__') {
  if ($debug) { &Apache::lonnet::logthis("getting $id is __undef__"); }   if ($debug) { &Apache::lonnet::logthis("getting $id is __undef__"); }
  return (undef,1);   return (undef,1);
Line 1062  sub is_cached_new { Line 1061  sub is_cached_new {
   
 sub do_cache_new {  sub do_cache_new {
     my ($name,$id,$value,$time,$debug) = @_;      my ($name,$id,$value,$time,$debug) = @_;
     $debug=0;  
     $id=&escape($name.':'.$id);      $id=&escape($name.':'.$id);
     my $setvalue=$value;      my $setvalue=$value;
     if (!defined($setvalue)) {      if (!defined($setvalue)) {
Line 1070  sub do_cache_new { Line 1068  sub do_cache_new {
     }      }
     if ($debug) { &Apache::lonnet::logthis("Setting $id to $value"); }      if ($debug) { &Apache::lonnet::logthis("Setting $id to $value"); }
     $memcache->set($id,$setvalue,300);      $memcache->set($id,$setvalue,300);
     &make_room($id,$value);      &make_room($id,$value,$debug);
     return $value;      return $value;
 }  }
   
 sub make_room {  sub make_room {
     my ($id,$value)=@_;      my ($id,$value,$debug)=@_;
     my $debug=0;  
     $remembered{$id}=$value;      $remembered{$id}=$value;
     $accessed{$id}=[&gettimeofday()];      $accessed{$id}=[&gettimeofday()];
     if (scalar(keys(%remembered)) <= $to_remember) { return; }      if (scalar(keys(%remembered)) <= $to_remember) { return; }

Removed from v.1.587.2.3.2.6  
changed lines
  Added in v.1.587.2.3.2.7


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>