rdataset revision dafcb997e390efa4423883dafd100c975c4095d6
f808c858fa61e7769218966759510a8b1190dfcfrafCopyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
f808c858fa61e7769218966759510a8b1190dfcfrafCopyright (C) 1999-2001 Internet Software Consortium.
f808c858fa61e7769218966759510a8b1190dfcfrafSee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
f808c858fa61e7769218966759510a8b1190dfcfraf
f808c858fa61e7769218966759510a8b1190dfcfraf$Id: rdataset,v 1.6 2004/03/05 05:04:46 marka Exp $
f808c858fa61e7769218966759510a8b1190dfcfraf
f808c858fa61e7769218966759510a8b1190dfcfrafNeed way to "dup" an rdataset (i.e. different rdataset handle, same underlying
f808c858fa61e7769218966759510a8b1190dfcfrafdata).
f808c858fa61e7769218966759510a8b1190dfcfraf
f808c858fa61e7769218966759510a8b1190dfcfrafDB addnode routine should take an rdataset *, which, if non-NULL, would be
f808c858fa61e7769218966759510a8b1190dfcfrafattached to the added rdataset.
f808c858fa61e7769218966759510a8b1190dfcfraf
f808c858fa61e7769218966759510a8b1190dfcfrafNeed credibility, security status.
f808c858fa61e7769218966759510a8b1190dfcfraf
f808c858fa61e7769218966759510a8b1190dfcfrafCache security status in rdataset. Have rdataset supply methods to get/set
f808c858fa61e7769218966759510a8b1190dfcfrafthe security status. For RBTDB, it goes something like this:
f808c858fa61e7769218966759510a8b1190dfcfraf
f808c858fa61e7769218966759510a8b1190dfcfraf get:
f808c858fa61e7769218966759510a8b1190dfcfraf if (cached status == pending)
f808c858fa61e7769218966759510a8b1190dfcfraf lock node lock
f808c858fa61e7769218966759510a8b1190dfcfraf read rdataset's status
f808c858fa61e7769218966759510a8b1190dfcfraf unlock node lock
f808c858fa61e7769218966759510a8b1190dfcfraf update cached status
f808c858fa61e7769218966759510a8b1190dfcfraf return (cached status)
f808c858fa61e7769218966759510a8b1190dfcfraf
f808c858fa61e7769218966759510a8b1190dfcfraf set:
f808c858fa61e7769218966759510a8b1190dfcfraf require that status cannot go backwards (e.g. OK to pending)
f808c858fa61e7769218966759510a8b1190dfcfraf lock node lock
f808c858fa61e7769218966759510a8b1190dfcfraf write rdataset's status
f808c858fa61e7769218966759510a8b1190dfcfraf unlock node lock
f808c858fa61e7769218966759510a8b1190dfcfraf update cached status
f808c858fa61e7769218966759510a8b1190dfcfraf