Provided by: libeliom-ocaml-doc_3.0.3-4build2_all bug

NAME

       Eliom_reference -  Server side state data, a.k.a Eliom references

Module

       Module   Eliom_reference

Documentation

       Module Eliom_reference
        : sig end

       Server side state data, a.k.a Eliom references

       type ('a, +'storage) eref'

       Eliom  references  come  in  two  flavors:  they  may be stored persistently or the may be
       volatile.  The module Volatile allows creation of  references  which  can  be,  get,  set,
       modify, and unset volatile references through non-Lwt functions.

       type 'a eref = ('a, [ `Persistent | `Volatile ]) eref'

       The type of Eliom references whose content is of type 'a .

       exception Eref_not_intialized

       Exception  raised  when  trying  to  access an eref that has not been initaliazed, when we
       don't want to initialize it.

       val eref : scope:[< Eliom_common.all_scope ] -> ?secure:bool -> ?persistent:string  ->  'a
       -> 'a eref

       The  function  eref  ~scope  value  creates  an  Eliom  reference  for the given scope and
       initialize it with value . See the Eliom manual for more information about .

       Use the optional parameter ?persistent if you want the data to survive  after  relaunching
       the  server.  You  must give an unique name to the table in which it will be stored on the
       hard disk (using Ocsipersist).  Be very careful to use unique names,  and  to  change  the
       name  if  you  change  the  type  of  the  data,  otherwise  the  server may crash (unsafe
       unmarshaling). This parameter has no effect for scope Eliom_common.request .

       Use the optional parameter ~secure:true if you want the data to be  available  only  using
       HTTPS.  This  parameter has no effect for scopes Eliom_common.global , Eliom_common.site ,
       and Eliom_common.request .

       Warning:  Eliom  references  of   scope   Eliom_common.global   ,   Eliom_common.site   or
       Eliom_common.request  may  be  created  at  any  time ; but for other scopes, they must be
       created when the site information is available  to  Eliom,  that  is,  either  during  the
       initialization  phase  of  the  server  (while reading the configuration file) or during a
       request.        Otherwise,        it        will        raise        the         exception
       Eliom_common.Eliom_site_information_not_available  .  If you are using static linking, you
       must delay the call  to  this  function  until  the  configuration  file  is  read,  using
       Eliom_service.register_eliom_module . Otherwise you will also get this exception.

       val    eref_from_fun    :   scope:[<   Eliom_common.all_scope   ]   ->   ?secure:bool   ->
       ?persistent:string -> (unit -> 'a) -> 'a eref

       The function eref_from_fun works like the above  Eliom_reference.eref  ,  but  instead  of
       providing  a  value for the initial content, a function f for creating the initial content
       is provided (cf. also Lazy.lazy_from_fun ).

       In each scope, the function f is called for creating the value of the reference the  first
       time  the  reference  is  read  (by  Eliom_reference.get  ), if the value has not been set
       explicitly  before  (by  Eliom_reference.set  );  or  if  the  reference  was  reset   (by
       Eliom_reference.reset ) before.

       val get : 'a eref -> 'a Lwt.t

       The function get eref returns the current value of the Eliom reference eref .

       Warning:  this  function  cannot  be  used outside of a service handler when eref has been
       created with a scope different of Eliom_common.global ; it can neither be used outside  of
       an Eliom module when eref has been created with scope Eliom_common.site

       val set : 'a eref -> 'a -> unit Lwt.t

       The function set eref v set v as current value of the Eliom reference eref .

       Warning:  this  function could not be used outside af a service handler when eref has been
       created with a scope different of Eliom_common.global ; it can neither be used outside  of
       an Eliom module when eref has been created with scope Eliom_common.site

       val modify : 'a eref -> ('a -> 'a) -> unit Lwt.t

       The  function  modify  eref f modifies the content of the Eliom reference eref by applying
       the function f on it.

       Warning: this function could not be used outside af a service handler when eref  has  been
       created  with a scope different of Eliom_common.global ; it can neither be used outside of
       an Eliom module when eref has been created with scope Eliom_common.site

       val unset : 'a eref -> unit Lwt.t

       The function unset eref reset the content of the  Eliom  reference  eref  to  its  initial
       value.

       Warning:  this  function could not be used outside af a service handler when eref has been
       created with a scope different of Eliom_common.global ; it can neither be used outside  of
       an Eliom module when eref has been created with scope Eliom_common.site

       module Volatile : sig end

       Same  functions  as  in  Eliom_reference  but a non-Lwt interface for non-persistent Eliom
       references.

       module Ext : sig end