当在gen_statem erlang中发生state_timeout时,将Msg返回给调用者



例如:状态如下:

state1({call,Caller},Msg,Data) ->
NewData = do_somthing(),
{next_State,state2,NewData,[{reply,Caller,NewMsg},{state_timeout,5000,any}]}.

超时状态:

state2(state_timeout,Msg,Data) ->
something() ( Here my question)

超时时我需要返回一条消息。如果我不知道谁是状态2(state_timeout,Msg,Data(的调用者,我该怎么做?

Data可以是任何您想要的:

NewData = {do_something(), Caller},

然后:

state2(state_timeout,Msg,{Data, Caller}) ->

最新更新