StoreSearchUFS.cc
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2018 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 /* DEBUG: section 47 Store Directory Routines */
10 
11 #include "squid.h"
12 #include "cbdata.h"
13 #include "StoreSearchUFS.h"
14 #include "UFSSwapDir.h"
15 
16 CBDATA_NAMESPACED_CLASS_INIT(Fs::Ufs,StoreSearchUFS);
17 
19  sd(aSwapDir),
20  walker(sd->repl->WalkInit(sd->repl)),
21  cbdata(NULL),
22  current(NULL),
23  _done(false)
24 {}
25 
27 {
28  walker->Done(walker);
29  walker = NULL;
30 }
31 
32 void
33 Fs::Ufs::StoreSearchUFS::next(void (aCallback)(void *cbdata), void *aCallbackArgs)
34 {
35  next();
36  aCallback(aCallbackArgs);
37 }
38 
39 bool
41 {
42  /* the walker API doesn't make sense. the store entries referred to are already readwrite
43  * from their hash table entries
44  */
45 
46  if (walker)
47  current = const_cast<StoreEntry *>(walker->Next(walker));
48 
49  if (current == NULL)
50  _done = true;
51 
52  return current != NULL;
53 }
54 
55 bool
57 {
58  return false;
59 }
60 
61 bool
63 {
64  return _done;
65 }
66 
67 StoreEntry *
69 {
70  return current;
71 }
72 
#define CBDATA_NAMESPACED_CLASS_INIT(namespace, type)
Definition: cbdata.h:326
Definition: cbdata.cc:60
virtual bool isDone() const
virtual bool error() const
virtual StoreEntry * currentItem()
#define NULL
Definition: types.h:166
#define false
Definition: GnuRegex.c:233

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors