module Nn_monitor:Management of datastores, i.e. which datastores are available on which datanodessig..end
    This module is run inside the single nn_monitor process. Read access
    from other processes is possible via the Nn_datastore_news module
    (using a pub/sub scheme).
    The module can also be notified to merge db changes into its in-core
    set of datastores.
val list : unit -> Nn_datastores.datastore listval get : string -> Nn_datastores.datastoreNot_foundval add : Nn_datastores.datastore -> unitval update_from_db : ?when_done:(unit -> unit) -> int -> unitval delete : string -> unitdelete identity: Remove this storeval enable : string -> unitenable identity: Sets enabled to trueval disable : string -> unitdisable identity: Sets enabled to falseval is_alive : string -> boolis_alive identity: Returns whether the datanode having this store
      is good as seen by the monitor. Fails if the monitor is not started.val start_publishing : unit -> unitNn_datastore_newsval post_add_hook : Netplex_types.socket_service -> Netplex_types.controller -> unitpost_add_hookval receive_message : Pfs_auth.client_auth ->
       Netplex_types.container -> string -> string array -> unitreceive_message hook in order to
      arrange notifications about db updatesval post_start_hook : Netplex_types.container ->
       Nn_config.nn_node_config -> Pfs_auth.client_auth -> unit
      It is required that Nn_db.init was called before.
val shutdown : unit -> unit