------------------------------------------------------------ revno: 554 committer: Jean-Vincent Loddo <lo...@lipn.univ-paris13.fr> branch nick: WORKING timestamp: Mon 2020-07-06 22:24:22 +0000 message: Sixth satisfactory version (until the next) of algebraic channels, with support for ephemeral (not persistent) structures. Stabilizations and notifications are performed only for writers and maintainers. During the access protocol to a channel, if the channel contains a persistent structure (by default) and the internal resistance has not really changed we do nothing (no stabilization, neither notifications to super-structures). The same (micro-)optimization cannot be applied to ephemeral (not persistent) structure, because for this kind of structures we cannot easily detect changes provoked by the `update' function (the 3th and 4th arguments of the body are the same object). Finally the more accurate tool to access a channel has the following signature: val access : ?level:int -> ?ephemeral:unit -> ?enter:('a -> bool) -> ?notify:int list -> ?update:('a -> 'a) -> ?leave:('a -> bool) -> 'a t -> ('a FTCC.t -> 'a details -> 'a -> 'a -> 'b) -> (exn, 'b) Either.t modified: CORTEX/channel.ml CORTEX/channel.mli CORTEX/hublet.ml CORTEX/hublet.mli CORTEX/lazynel.ml CORTEX/lazynel.mli CORTEX/milner.ml CORTEX/milner.mli CORTEX/res.ml STRUCTURES/either.ml STRUCTURES/either.mli tests/test_channel.ml
-- lp:ocamlbricks https://code.launchpad.net/~marionnet-drivers/ocamlbricks/trunk Your team marionnet-dev is subscribed to branch lp:ocamlbricks. To unsubscribe from this branch go to https://code.launchpad.net/~marionnet-drivers/ocamlbricks/trunk/+edit-subscription _______________________________________________ Mailing list: https://launchpad.net/~marionnet-dev Post to : marionnet-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~marionnet-dev More help : https://help.launchpad.net/ListHelp