#include <db_cxx.h>int DbMpool::trickle(int pct, int *nwrotep);
The DbMpool::trickle method ensures that at least pct percent of the pages in the shared memory pool are clean by writing dirty pages to their backing files. If the nwrotep argument is non-NULL, the number of pages that were written to reach the correct percentage is returned in the memory location it references.
The purpose of the DbMpool::trickle function is to enable a memory pool manager to ensure that a page is always available for reading in new information without having to wait for a write.
The DbMpool::trickle method either returns errno or throws an exception that encapsulates an errno on failure, and 0 on success.
The DbMpool::trickle method may fail and throw an exception for any of the errors specified for the following Berkeley DB and C library functions: DBmemp->pgin(3), DBmemp->pgout(3), abort(3), close(3), dbenv->db_paniccall(3), fcntl(3), fflush(3), fprintf(3), free(3), fstat(3), fsync(3), getenv(3), getpid(3), getuid(3), isdigit(3), DbLog::compare, DbLog::flush, lseek(3), malloc(3), memcmp(3), memcpy(3), memset(3), mmap(3), open(3), pread(3), pstat_getdynamic(3), pwrite(3), read(3), sigfillset(3), sigprocmask(3), stat(3), strerror(3), strlen(3), sysconf(3), time(3), unlink(3), vfprintf(3), vsnprintf(3), and write(3).
In addition, the DbMpool::trickle method may fail and throw an exception or return errno for the following conditions: