rdataset revision dafcb997e390efa4423883dafd100c975c4095d6
9e4292a2b46bc30568bd1eb204761f7134609405David LawrenceCopyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark AndrewsCopyright (C) 1999-2001 Internet Software Consortium.
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David LawrenceSee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
0c27b3fe77ac1d5094ba3521e8142d9e7973133fMark Andrews$Id: rdataset,v 1.6 2004/03/05 05:04:46 marka Exp $
9e4292a2b46bc30568bd1eb204761f7134609405David LawrenceNeed way to "dup" an rdataset (i.e. different rdataset handle, same underlying
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid LawrenceDB addnode routine should take an rdataset *, which, if non-NULL, would be
9e4292a2b46bc30568bd1eb204761f7134609405David Lawrenceattached to the added rdataset.
9e4292a2b46bc30568bd1eb204761f7134609405David LawrenceNeed credibility, security status.
6a759e38699d133302d0df120d7afcd4af721951David LawrenceCache security status in rdataset. Have rdataset supply methods to get/set
1a69a1a78cfaa86f3b68bbc965232b7876d4da2aDavid Lawrencethe security status. For RBTDB, it goes something like this:
c5944292e9ebee4a39fe939b9a16fe5596808556David Lawrence if (cached status == pending)
9e4292a2b46bc30568bd1eb204761f7134609405David Lawrence lock node lock
9e4292a2b46bc30568bd1eb204761f7134609405David Lawrence read rdataset's status
bbf390959da5b349f95b8e692240e5f2d8ef7b03David Lawrence unlock node lock
c90f5e8d1edbd5c277f2ee320167a12a30ba7c7bMichael Graff update cached status
9e4292a2b46bc30568bd1eb204761f7134609405David Lawrence return (cached status)
0d73b3fffe1b29f11e32952867c687beb465fb96David Lawrence require that status cannot go backwards (e.g. OK to pending)
0d73b3fffe1b29f11e32952867c687beb465fb96David Lawrence lock node lock
9e4292a2b46bc30568bd1eb204761f7134609405David Lawrence write rdataset's status
9e4292a2b46bc30568bd1eb204761f7134609405David Lawrence unlock node lock
9e4292a2b46bc30568bd1eb204761f7134609405David Lawrence update cached status