<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of class methods" rel=Appendix href="index_methods.html"> <link title="Index of classes" rel=Appendix href="index_classes.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Ocsigen_cache" rel="Chapter" href="Ocsigen_cache.html"> <link title="Ocsigen_lib_base" rel="Chapter" href="Ocsigen_lib_base.html"> <link title="Ocsigen_lib" rel="Chapter" href="Ocsigen_lib.html"> <link title="Ocsigen_config" rel="Chapter" href="Ocsigen_config.html"> <link title="Ocsigen_getcommandline" rel="Chapter" href="Ocsigen_getcommandline.html"> <link title="Ocsigen_messages" rel="Chapter" href="Ocsigen_messages.html"> <link title="Ocsigen_stream" rel="Chapter" href="Ocsigen_stream.html"> <link title="Ocsigen_loader" rel="Chapter" href="Ocsigen_loader.html"> <link title="Polytables" rel="Chapter" href="Polytables.html"> <link title="Http_headers" rel="Chapter" href="Http_headers.html"> <link title="Ocsigen_http_frame" rel="Chapter" href="Ocsigen_http_frame.html"> <link title="Ocsigen_headers" rel="Chapter" href="Ocsigen_headers.html"> <link title="Framepp" rel="Chapter" href="Framepp.html"> <link title="Ocsigen_http_com" rel="Chapter" href="Ocsigen_http_com.html"> <link title="Ocsigen_charset_mime" rel="Chapter" href="Ocsigen_charset_mime.html"> <link title="Ocsigen_senders" rel="Chapter" href="Ocsigen_senders.html"> <link title="Ocsigen_cookies" rel="Chapter" href="Ocsigen_cookies.html"> <link title="Ocsigen_extensions" rel="Chapter" href="Ocsigen_extensions.html"> <link title="Ocsigen_parseconfig" rel="Chapter" href="Ocsigen_parseconfig.html"> <link title="Ocsigen_http_client" rel="Chapter" href="Ocsigen_http_client.html"> <link title="Ocsigen_local_files" rel="Chapter" href="Ocsigen_local_files.html"> <link title="Ocsigen_server" rel="Chapter" href="Ocsigen_server.html"> <link title="Ocsigen_comet" rel="Chapter" href="Ocsigen_comet.html"> <link title="Accesscontrol" rel="Chapter" href="Accesscontrol.html"> <link title="Authbasic" rel="Chapter" href="Authbasic.html"> <link title="Ocsipersist" rel="Chapter" href="Ocsipersist.html"><title>Ocsigen_cache</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Make</span> :<br> <span class="keyword">functor</span> (<span class="constructor">A</span> : <span class="keyword">sig</span> <span class="keyword">type</span> key <span class="keyword">type</span> value <span class="keyword">end</span>) <span class="keywordsign">-></span><br> <span class="keyword">sig</span><br> <span class="keyword">class</span> cache :<br> (<span class="constructor">A</span>.key <span class="keywordsign">-></span> <span class="constructor">A</span>.value <span class="constructor">Lwt</span>.t) <span class="keywordsign">-></span><br> ?timer:float <span class="keywordsign">-></span><br> int <span class="keywordsign">-></span><br> <span class="keyword">object</span><br> <span class="keyword">method</span> add : <span class="constructor">A</span>.key <span class="keywordsign">-></span> <span class="constructor">A</span>.value <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> clear : unit <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> find : <span class="constructor">A</span>.key <span class="keywordsign">-></span> <span class="constructor">A</span>.value <span class="constructor">Lwt</span>.t<br> <span class="keyword">method</span> find_in_cache : <span class="constructor">A</span>.key <span class="keywordsign">-></span> <span class="constructor">A</span>.value<br> <span class="keyword">method</span> remove : <span class="constructor">A</span>.key <span class="keywordsign">-></span> unit<br> <span class="keyword">method</span> size : int<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">val</span> clear_all_caches : unit <span class="keywordsign">-></span> unit<br> <span class="keyword">module</span> <span class="constructor">Dlist</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t<br> <span class="keyword">type</span> <span class="keywordsign">'</span>a node<br> <span class="keyword">val</span> create : ?timer:float <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t<br> <span class="keyword">val</span> add : <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option<br> <span class="keyword">val</span> remove : <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> up : <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> newest :<br> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node option<br> <span class="keyword">val</span> oldest :<br> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node option<br> <span class="keyword">val</span> size : <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> maxsize : <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> value : <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> get_timer : <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> float option<br> <span class="keyword">val</span> list_of :<br> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t option<br> <span class="keyword">val</span> remove_n_oldest : <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list<br> <span class="keyword">val</span> fold : (<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> fold_back :<br> (<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> lwt_fold :<br> (<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Lwt</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Lwt</span>.t<br> <span class="keyword">val</span> lwt_fold_back :<br> (<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Lwt</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="constructor">Lwt</span>.t<br> <span class="keyword">val</span> move :<br> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option<br> <span class="keyword">val</span> set_maxsize : <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list<br> <span class="keyword">val</span> set_finaliser_before :<br> (<span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> get_finaliser_before :<br> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> set_finaliser_after :<br> (<span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> get_finaliser_after :<br> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Ocsigen_cache</span>.<span class="constructor">Dlist</span>.node <span class="keywordsign">-></span> unit<br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>