let hsize = 7000
let env = H.create hsize
+let entry = ref 0
(* Internal functions *******************************************************)
(* Interface functions ******************************************************)
-let set_obj f obj uri =
- H.add env uri obj; f obj uri
-
+let set_obj f obj =
+ let _, uri, b, t = obj in
+ let obj = !entry, uri, b, t in
+ incr entry; H.add env uri obj; f obj
+
let get_obj f uri =
- try f (H.find env uri) uri
+ try f (H.find env uri)
with Not_found -> raise (ObjectNotFound (lazy (U.string_of_uri uri)))