From 412080c9e1f53785ef9f158deb91851561018c9d Mon Sep 17 00:00:00 2001 From: Raimo Niskanen Date: Fri, 8 Dec 2017 09:42:36 +0100 Subject: Optimize plain call response time --- lib/stdlib/doc/src/gen_statem.xml | 54 ++++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 7 deletions(-) (limited to 'lib/stdlib/doc/src') diff --git a/lib/stdlib/doc/src/gen_statem.xml b/lib/stdlib/doc/src/gen_statem.xml index a7caa71dcb..574f488e91 100644 --- a/lib/stdlib/doc/src/gen_statem.xml +++ b/lib/stdlib/doc/src/gen_statem.xml @@ -543,7 +543,23 @@ handle_event(_, _, State, Data) ->

- External events are of three types: + There are 3 categories of events: + external, + timeout, + and internal. +

+

+ internal events can only be generated by the + state machine itself through the state transition action + next_event. +

+
+ + + + +

+ External events are of 3 types: {call,From}, cast, or info. Calls (synchronous) and @@ -551,12 +567,17 @@ handle_event(_, _, State, Data) -> originate from the corresponding API functions. For calls, the event contains whom to reply to. Type info originates from regular process messages sent - to the gen_statem. The state machine - implementation can, in addition to the above, - generate - events of types - timeout, {timeout,Name}, - state_timeout, and internal to itself. + to the gen_statem. +

+
+
+ + + +

+ There are 3 types of timeout events that the state machine + can generate for itself with the corresponding + timeout_action()s.

@@ -1026,6 +1047,25 @@ handle_event(_, _, State, Data) -> for this state transition.

+ + + + + + +

+ These state transition actions can be invoked by + returning them from the + state callback, from + Module:init/1 + or by giving them to + enter_loop/5,6. +

+

+ These timeout actions sets timeout + transition options. +

+ Timeout

-- cgit v1.2.3