public void CacheMiss(Object o, EventArgs args) {
Brunet.Collections.Cache.MissArgs margs = (Brunet.Collections.Cache.MissArgs) args;
MemBlock key = (MemBlock) margs.Key;
string path = GeneratePath(key);
if(File.Exists(path)) {
using (FileStream fs = File.Open(path, FileMode.Open)) {
ArrayList ht_entries = (ArrayList) AdrConverter.Deserialize(fs);
Entry[] entries = new Entry[ht_entries.Count];
int index = 0;
foreach(Hashtable entry in ht_entries) {
entries[index++] = (Entry) entry;
}
_data[key] = new LinkedList<Entry>(entries);
}
File.Delete(path);
}
}