ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/URL/URLcache.pm
(Generate patch)

Comparing COMP/SCRAM/src/URL/URLcache.pm (file contents):
Revision 1.2 by williamc, Thu Nov 4 10:08:11 1999 UTC vs.
Revision 1.3 by williamc, Tue Nov 9 15:57:58 1999 UTC

# Line 16 | Line 16
16   # clear()               : clear cache
17   # filestore()           : Return the directory to download files to
18   # filename(url)         : return a unique file/dir in cache for the given url
19 + # updatenumber(int)     : return an integer number changed with each store
20  
21   package URL::URLcache;
22   require 5.004;
# Line 59 | Line 60 | sub init {
60          AddDir::adddir($self->{cachedir});
61  
62          $self->{cacheindex}=$self->{cachetop}."/index.db";
63 +        $self->{cacheseqindex}=$self->{cachetop}."/seqnumb.db";
64          $self->{urlDB}=Utilities::HashDB->new();
65 +        $self->{urlDBupdate}=Utilities::HashDB->new();
66          if ( -f $self->{cacheindex} ) {
67            $self->{urlDB}->restore($self->{cacheindex});
68          }
69          else {
70            AddDir::adddir($self->{cachedir});
71          }
72 +        if ( -f $self->{cacheseqindex} ) {
73 +          $self->{urlDBupdate}->restore($self->{cacheseqindex});
74 +        }
75   }
76  
77   sub file {
# Line 92 | Line 98 | sub store {
98          $self->{urlDB}->deletedata($url);
99          $self->{urlDB}->setdata($file,$url);
100          $self->{urlDB}->store($self->{cacheindex});
101 +
102 +        # Keep a track of changes
103 +        my ($sequencenumber)=$self->{urlDBupdate}->getdata($url);
104 +        if ( ! defined $sequencenumber ) { $sequencenumber=0 };
105 +        $sequencenumber=$sequencenumber+1;
106 +        $self->{urlDBupdate}->deletedata($url);
107 +        $self->{urlDBupdate}->setdata($sequencenumber,$url);
108 +        $self->{urlDBupdate}->store($self->{cacheseqindex});
109 + }
110 +
111 + sub updatenumber {
112 +        my $self=shift;
113 +        my $url=shift;
114 +
115 +        return $self->{urlDBupdate}->getdata($url);
116   }
117  
118   sub clear {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines