(* Copyright 2010 Gerd Stolpmann This file is part of Plasma, a distributed filesystem and a map/reduce computation framework. Unless you have a written license agreement with the copyright holder (Gerd Stolpmann), the following terms apply: Plasma is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Plasma is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Foobar. If not, see <http://www.gnu.org/licenses/>. *) (* $Id: nn_notify.mli 239 2010-06-23 16:49:03Z gerd $ *) val send_notifications_e : Nn_db.modification list -> unit Uq_engines.engine (** Send all notifications requires for this list of db modifications. The engine is done when all notification RPCs are responded. This should be called in parallel with the db commit, and before the "commit" RPC returns. *) val expire_e : unit -> unit Uq_engines.engine (** Checks for expired requests, and sends the "expired"-type notifications. This should be called between db commits, once every second. *) val post_start_hook : unit -> unit (** Needs to be called once *) val setup : Rpc_server.t -> unit (** Binds the [Request_notifications] program *)