sig
val discard :
scope:[< `Client_process of Eliom_common.scope_hierarchy
| `Request
| `Session of Eliom_common.scope_hierarchy
| `Session_group of Eliom_common.scope_hierarchy ] ->
?secure:bool -> unit -> unit Lwt.t
val discard_all_scopes : ?secure:bool -> unit -> unit Lwt.t
val discard_data :
?persistent:bool ->
scope:[< `Client_process of Eliom_common.scope_hierarchy
| `Request
| `Session of Eliom_common.scope_hierarchy
| `Session_group of Eliom_common.scope_hierarchy ] ->
?secure:bool -> unit -> unit Lwt.t
val discard_services :
scope:[< Eliom_common.user_scope ] -> ?secure:bool -> unit -> unit
type state_status = Alive_state | Empty_state | Expired_state
val service_state_status :
scope:[< Eliom_common.user_scope ] ->
?secure:bool -> unit -> Eliom_state.state_status
val volatile_data_state_status :
scope:[< Eliom_common.user_scope ] ->
?secure:bool -> unit -> Eliom_state.state_status
val persistent_data_state_status :
scope:[< Eliom_common.user_scope ] ->
?secure:bool -> unit -> Eliom_state.state_status Lwt.t
val set_cookie :
?cookie_level:Eliom_common.cookie_level ->
?path:string list ->
?exp:float -> ?secure:bool -> name:string -> value:string -> unit -> unit
val unset_cookie :
?cookie_level:Eliom_common.cookie_level ->
?path:string list -> name:string -> unit -> unit
val set_service_session_group :
?set_max:int ->
?scope:Eliom_common.session_scope -> ?secure:bool -> string -> unit
val unset_service_session_group :
?set_max:int ->
?scope:Eliom_common.session_scope -> ?secure:bool -> unit -> unit
val get_service_session_group :
?scope:Eliom_common.session_scope ->
?secure:bool -> unit -> string option
val get_service_session_group_size :
?scope:Eliom_common.session_scope -> ?secure:bool -> unit -> int option
val set_volatile_data_session_group :
?set_max:int ->
?scope:Eliom_common.session_scope -> ?secure:bool -> string -> unit
val unset_volatile_data_session_group :
?set_max:int ->
?scope:Eliom_common.session_scope -> ?secure:bool -> unit -> unit
val get_volatile_data_session_group :
?scope:Eliom_common.session_scope ->
?secure:bool -> unit -> string option
val get_volatile_data_session_group_size :
?scope:Eliom_common.session_scope -> ?secure:bool -> unit -> int option
val set_persistent_data_session_group :
?set_max:int option ->
?scope:Eliom_common.session_scope -> ?secure:bool -> string -> unit Lwt.t
val unset_persistent_data_session_group :
?scope:Eliom_common.session_scope -> ?secure:bool -> unit -> unit Lwt.t
val get_persistent_data_session_group :
?scope:Eliom_common.session_scope ->
?secure:bool -> unit -> string option Lwt.t
val set_default_max_service_sessions_per_group :
?override_configfile:bool -> int -> unit
val set_default_max_volatile_data_sessions_per_group :
?override_configfile:bool -> int -> unit
val set_default_max_persistent_data_sessions_per_group :
?override_configfile:bool -> int option -> unit
val set_default_max_volatile_sessions_per_group :
?override_configfile:bool -> int -> unit
val set_default_max_service_sessions_per_subnet :
?override_configfile:bool -> int -> unit
val set_default_max_volatile_data_sessions_per_subnet :
?override_configfile:bool -> int -> unit
val set_default_max_volatile_sessions_per_subnet :
?override_configfile:bool -> int -> unit
val set_default_max_service_tab_sessions_per_group :
?override_configfile:bool -> int -> unit
val set_default_max_volatile_data_tab_sessions_per_group :
?override_configfile:bool -> int -> unit
val set_default_max_persistent_data_tab_sessions_per_group :
?override_configfile:bool -> int option -> unit
val set_default_max_volatile_tab_sessions_per_group :
?override_configfile:bool -> int -> unit
val set_ipv4_subnet_mask : ?override_configfile:bool -> int -> unit
val set_ipv6_subnet_mask : ?override_configfile:bool -> int -> unit
val set_max_service_states_for_group_or_subnet :
scope:Eliom_common.user_scope -> ?secure:bool -> int -> unit
val set_max_volatile_data_states_for_group_or_subnet :
scope:Eliom_common.user_scope -> ?secure:bool -> int -> unit
val set_max_volatile_states_for_group_or_subnet :
scope:Eliom_common.user_scope -> ?secure:bool -> int -> unit
val set_service_cookie_exp_date :
cookie_scope:Eliom_common.cookie_scope ->
?secure:bool -> float option -> unit
val set_volatile_data_cookie_exp_date :
cookie_scope:Eliom_common.cookie_scope ->
?secure:bool -> float option -> unit
val set_persistent_data_cookie_exp_date :
cookie_scope:Eliom_common.cookie_scope ->
?secure:bool -> float option -> unit Lwt.t
val set_global_volatile_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool ->
?recompute_expdates:bool ->
?override_configfile:bool -> float option -> unit
val set_global_service_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool ->
?recompute_expdates:bool ->
?override_configfile:bool -> float option -> unit
val set_default_global_service_state_timeout :
cookie_level:[< Eliom_common.cookie_level ] ->
?override_configfile:bool -> float option -> unit
val set_global_volatile_data_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool ->
?recompute_expdates:bool ->
?override_configfile:bool -> float option -> unit
val set_default_global_volatile_data_state_timeout :
cookie_level:[< Eliom_common.cookie_level ] ->
?override_configfile:bool -> float option -> unit
val set_global_persistent_data_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool ->
?recompute_expdates:bool ->
?override_configfile:bool -> float option -> unit
val set_default_global_persistent_data_state_timeout :
cookie_level:[< Eliom_common.cookie_level ] ->
?override_configfile:bool -> float option -> unit
val get_global_service_state_timeout :
?secure:bool ->
cookie_scope:[< Eliom_common.cookie_scope ] -> unit -> float option
val get_global_volatile_data_state_timeout :
?secure:bool ->
cookie_scope:[< Eliom_common.cookie_scope ] -> unit -> float option
val get_global_persistent_data_state_timeout :
?secure:bool ->
cookie_scope:[< Eliom_common.cookie_scope ] -> unit -> float option
val set_service_state_timeout :
cookie_scope:Eliom_common.cookie_scope ->
?secure:bool -> float option -> unit
val unset_service_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool -> unit -> unit
val get_service_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool -> unit -> float option
val set_volatile_data_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool -> float option -> unit
val unset_volatile_data_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool -> unit -> unit
val get_volatile_data_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool -> unit -> float option
val set_persistent_data_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool -> float option -> unit Lwt.t
val unset_persistent_data_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool -> unit -> unit Lwt.t
val get_persistent_data_state_timeout :
cookie_scope:[< Eliom_common.cookie_scope ] ->
?secure:bool -> unit -> float option Lwt.t
type 'a volatile_table
type 'a persistent_table
val discard_everything : unit -> unit Lwt.t
val discard_all :
scope:Eliom_common.user_scope -> ?secure:bool -> unit -> unit Lwt.t
val discard_all_data :
?persistent:bool ->
scope:Eliom_common.user_scope -> ?secure:bool -> unit -> unit Lwt.t
val discard_all_services :
scope:Eliom_common.user_scope -> ?secure:bool -> unit -> unit Lwt.t
module Ext :
sig
exception Wrong_scope
type timeout = TGlobal | TNone | TSome of float
type service_cookie_info
type data_cookie_info
type persistent_cookie_info
type (+'a, +'b) state
val volatile_data_group_state :
?scope:Eliom_common.session_group_scope ->
string -> ([> `Session_group ], [> `Data ]) Eliom_state.Ext.state
val persistent_data_group_state :
?scope:Eliom_common.session_group_scope ->
string -> ([> `Session_group ], [> `Pers ]) Eliom_state.Ext.state
val service_group_state :
?scope:Eliom_common.session_group_scope ->
string -> ([> `Session_group ], [> `Service ]) Eliom_state.Ext.state
val current_volatile_data_state :
?secure:bool ->
?scope:Eliom_common.user_scope ->
unit ->
([< Eliom_common.user_level ], [< `Data ]) Eliom_state.Ext.state
val current_persistent_data_state :
?secure:bool ->
?scope:Eliom_common.user_scope ->
unit ->
([< Eliom_common.user_level ], [< `Pers ]) Eliom_state.Ext.state
Lwt.t
val current_service_state :
?secure:bool ->
?scope:Eliom_common.user_scope ->
unit ->
([< Eliom_common.user_level ], [< `Service ]) Eliom_state.Ext.state
val discard_state : state:('a, 'b) Eliom_state.Ext.state -> unit Lwt.t
val fold_volatile_sub_states :
?sitedata:Eliom_common.sitedata ->
state:([< `Session | `Session_group ], [< `Data | `Service ] as 'k)
Eliom_state.Ext.state ->
('a ->
([< `Client_process | `Session ], 'k) Eliom_state.Ext.state -> 'a) ->
'a -> 'a
val iter_volatile_sub_states :
?sitedata:Eliom_common.sitedata ->
state:([< `Session | `Session_group ], [< `Data | `Service ] as 'k)
Eliom_state.Ext.state ->
(([< `Client_process | `Session ], 'k) Eliom_state.Ext.state -> unit) ->
unit
val fold_sub_states :
?sitedata:Eliom_common.sitedata ->
state:([< `Session | `Session_group ],
[< `Data | `Pers | `Service ] as 'k)
Eliom_state.Ext.state ->
('a ->
([< `Client_process | `Session ], 'k) Eliom_state.Ext.state ->
'a Lwt.t) ->
'a -> 'a Lwt.t
val iter_sub_states :
?sitedata:Eliom_common.sitedata ->
state:([< `Session | `Session_group ], 'k) Eliom_state.Ext.state ->
(([< `Client_process | `Session ], 'k) Eliom_state.Ext.state ->
unit Lwt.t) ->
unit Lwt.t
module Low_level :
sig
val get_volatile_data :
state:([< `Client_process | `Session | `Session_group ],
[< `Data ])
Eliom_state.Ext.state ->
table:'a Eliom_state.volatile_table -> 'a
val get_persistent_data :
state:([< `Client_process | `Session | `Session_group ],
[< `Pers ])
Eliom_state.Ext.state ->
table:'a Eliom_state.persistent_table -> 'a Lwt.t
val set_volatile_data :
state:([< `Client_process | `Session | `Session_group ],
[< `Data ])
Eliom_state.Ext.state ->
table:'a Eliom_state.volatile_table -> 'a -> unit
val set_persistent_data :
state:([< `Client_process | `Session | `Session_group ],
[< `Pers ])
Eliom_state.Ext.state ->
table:'a Eliom_state.persistent_table -> 'a -> unit Lwt.t
val remove_volatile_data :
state:([< `Client_process | `Session | `Session_group ],
[< `Data ])
Eliom_state.Ext.state ->
table:'a Eliom_state.volatile_table -> unit
val remove_persistent_data :
state:([< `Client_process | `Session | `Session_group ],
[< `Pers ])
Eliom_state.Ext.state ->
table:'a Eliom_state.persistent_table -> unit Lwt.t
end
val get_service_cookie_info :
([< Eliom_common.cookie_level ], [ `Service ]) Eliom_state.Ext.state ->
Eliom_state.Ext.service_cookie_info
val get_volatile_data_cookie_info :
([< Eliom_common.cookie_level ], [ `Data ]) Eliom_state.Ext.state ->
Eliom_state.Ext.data_cookie_info
val get_persistent_cookie_info :
([< Eliom_common.cookie_level ], [ `Pers ]) Eliom_state.Ext.state ->
Eliom_state.Ext.persistent_cookie_info Lwt.t
val get_service_cookie_scope :
cookie:Eliom_state.Ext.service_cookie_info -> Eliom_common.user_scope
val get_volatile_data_cookie_scope :
cookie:Eliom_state.Ext.data_cookie_info -> Eliom_common.user_scope
val get_persistent_data_cookie_scope :
cookie:Eliom_state.Ext.persistent_cookie_info ->
Eliom_common.user_scope
val set_service_cookie_timeout :
cookie:Eliom_state.Ext.service_cookie_info -> float option -> unit
val set_volatile_data_cookie_timeout :
cookie:Eliom_state.Ext.data_cookie_info -> float option -> unit
val set_persistent_data_cookie_timeout :
cookie:Eliom_state.Ext.persistent_cookie_info ->
float option -> unit Lwt.t
val get_service_cookie_timeout :
cookie:Eliom_state.Ext.service_cookie_info -> Eliom_state.Ext.timeout
val get_volatile_data_cookie_timeout :
cookie:Eliom_state.Ext.data_cookie_info -> Eliom_state.Ext.timeout
val get_persistent_data_cookie_timeout :
cookie:Eliom_state.Ext.persistent_cookie_info ->
Eliom_state.Ext.timeout
val unset_service_cookie_timeout :
cookie:Eliom_state.Ext.service_cookie_info -> unit
val unset_volatile_data_cookie_timeout :
cookie:Eliom_state.Ext.data_cookie_info -> unit
val unset_persistent_data_cookie_timeout :
cookie:Eliom_state.Ext.persistent_cookie_info -> unit Lwt.t
val get_session_group_list : unit -> string list
val iter_service_cookies :
(Eliom_state.Ext.service_cookie_info -> unit Lwt.t) -> unit Lwt.t
val iter_volatile_data_cookies :
(Eliom_state.Ext.data_cookie_info -> unit Lwt.t) -> unit Lwt.t
val iter_persistent_data_cookies :
(Eliom_state.Ext.persistent_cookie_info -> unit Lwt.t) -> unit Lwt.t
val fold_service_cookies :
(Eliom_state.Ext.service_cookie_info -> 'b -> 'b Lwt.t) ->
'b -> 'b Lwt.t
val fold_volatile_data_cookies :
(Eliom_state.Ext.data_cookie_info -> 'b -> 'b Lwt.t) ->
'b -> 'b Lwt.t
val fold_persistent_data_cookies :
(Eliom_state.Ext.persistent_cookie_info -> 'b -> 'b Lwt.t) ->
'b -> 'b Lwt.t
val untype_state :
('a, 'b) Eliom_state.Ext.state -> ('c, 'd) Eliom_state.Ext.state
end
type 'a state_data = No_data | Data_session_expired | Data of 'a
val create_volatile_table :
scope:Eliom_common.user_scope ->
?secure:bool -> unit -> 'a Eliom_state.volatile_table
val get_volatile_data :
table:'a Eliom_state.volatile_table -> unit -> 'a Eliom_state.state_data
val set_volatile_data : table:'a Eliom_state.volatile_table -> 'a -> unit
val remove_volatile_data :
table:'a Eliom_state.volatile_table -> unit -> unit
val create_persistent_table :
scope:Eliom_common.user_scope ->
?secure:bool -> string -> 'a Eliom_state.persistent_table Lwt.t
val get_persistent_data :
table:'a Eliom_state.persistent_table ->
unit -> 'a Eliom_state.state_data Lwt.t
val set_persistent_data :
table:'a Eliom_state.persistent_table -> 'a -> unit Lwt.t
val remove_persistent_data :
table:'a Eliom_state.persistent_table -> unit -> unit Lwt.t
val get_persistent_data_cookie :
cookie_scope:Eliom_common.cookie_scope ->
?secure:bool -> unit -> Eliom_common.Hashed_cookies.t option Lwt.t
val get_service_cookie :
cookie_scope:Eliom_common.cookie_scope ->
?secure:bool -> unit -> Eliom_common.Hashed_cookies.t option
val get_volatile_data_cookie :
cookie_scope:Eliom_common.cookie_scope ->
?secure:bool -> unit -> Eliom_common.Hashed_cookies.t option
val number_of_service_cookies : unit -> int
val number_of_volatile_data_cookies : unit -> int
val number_of_tables : unit -> int
val number_of_table_elements : unit -> int list
val number_of_persistent_data_cookies : unit -> int Lwt.t
val number_of_persistent_tables : unit -> int
val number_of_persistent_table_elements : unit -> (string * int) list Lwt.t
val get_global_table : unit -> Eliom_common.tables
val get_session_service_table :
sp:Eliom_common.server_params ->
scope:Eliom_common.user_scope ->
?secure:bool -> unit -> Eliom_common.tables Stdlib.ref
val get_session_service_table_if_exists :
sp:Eliom_common.server_params ->
scope:Eliom_common.user_scope ->
?secure:bool -> unit -> Eliom_common.tables Stdlib.ref
val create_volatile_table_during_session_ :
scope:Eliom_common.user_scope ->
secure:bool -> Eliom_common.sitedata -> 'a Eliom_state.volatile_table
end