Lines Matching refs:path

26 	path: string;  RecordField
65 let watch_create ~con ~path ~token = {
68 path = path;
70 is_relative = path.[0] <> '/' && path.[0] <> '@'
141 let get_watch_path con path =
142 if path.[0] = '@' || path.[0] = '/' then
143 path
146 rpath ^ path
148 let get_watches (con: t) path =
149 if Hashtbl.mem con.watches path
150 then Hashtbl.find con.watches path
153 let get_children_watches con path =
154 let path = path ^ "/" in
156 if String.startswith path p then w :: l else l) con.watches [])
161 let add_watch con path token =
165 let apath = get_watch_path con path in
169 let watch = watch_create ~con ~token ~path in
174 let del_watch con path token =
175 let apath = get_watch_path con path in
195 (fun _ watches acc -> List.map (fun watch -> watch.path, watch.token) watches :: acc)
202 let lookup_watch_perm path = function
205 try Store.Path.apply root path @@ fun parent name ->
211 let lookup_watch_perms oldroot root path =
212 lookup_watch_perm path oldroot @ lookup_watch_perm path (Some root)
215 let data = Utils.join_by_null [watch.path; watch.token; ""] in
219 let abspath = get_watch_path watch.con watch.path |> Store.Path.of_string in
228 let fire_watch roots watch path =
230 if watch.is_relative && path.[0] = '/'
233 and m = String.length path in
234 String.sub path n (m - n)
236 path
238 fire_single_watch roots { watch with path = new_path }
311 List.iter (fun (path, token) ->
312 Printf.fprintf chan "watch,%d,%s,%s\n" domid (Utils.hexify path) (Utils.hexify token)
318 …let watches = List.map (fun (path, token) -> Printf.sprintf "watch %s: %s %s\n" domid path token) …