Quellcode durchsuchen

缩写 返回值 标识

master
AICells vor 5 Jahren
Ursprung
Commit
1bbd85ee5f
2 geänderte Dateien mit 1183 neuen und 10 gelöschten Zeilen
  1. +8
    -10
      src/gen_ipc.erl
  2. +1175
    -0
      src/gen_srv.erl

+ 8
- 10
src/gen_ipc.erl Datei anzeigen

@ -45,8 +45,6 @@
, epm_log/1 , epm_log/1
]). ]).
-export([receiveIng/6]).
% 简写备注********************************** % 简写备注**********************************
% isPostpone isPos % isPostpone isPos
% isHibernate isHib % isHibernate isHib
@ -363,7 +361,7 @@ start_link(ServerName, Module, Args, Opts) ->
-spec start_monitor(Module :: module(), Args :: term(), Opts :: [startOpt()]) -> startRet(). -spec start_monitor(Module :: module(), Args :: term(), Opts :: [startOpt()]) -> startRet().
start_monitor(Module, Args, Opts) -> start_monitor(Module, Args, Opts) ->
gen:start(?MODULE, monitor, Module, Args, Opts). gen:start(?MODULE, monitor, Module, Args, Opts).
%%
-spec start_monitor(ServerName :: serverName(), Module :: module(), Args :: term(), Opts :: [startOpt()]) -> startRet(). -spec start_monitor(ServerName :: serverName(), Module :: module(), Args :: term(), Opts :: [startOpt()]) -> startRet().
start_monitor(ServerName, Module, Args, Opts) -> start_monitor(ServerName, Module, Args, Opts) ->
gen:start(?MODULE, monitor, ServerName, Module, Args, Opts). gen:start(?MODULE, monitor, ServerName, Module, Args, Opts).
@ -475,7 +473,7 @@ system_continue(Parent, Debug, {CycleData, Module, CurStatus, CurState, IsHib})
IsHib -> IsHib ->
proc_lib:hibernate(?MODULE, wakeupFromHib, [NewCycleData, Module, CurStatus, CurState, Debug, IsHib]); proc_lib:hibernate(?MODULE, wakeupFromHib, [NewCycleData, Module, CurStatus, CurState, Debug, IsHib]);
true -> true ->
?n>MODULE:receiveIng(NewCycleData, Module, CurStatus, CurState, Debug, IsHib)
receiveIng(NewCycleData, Module, CurStatus, CurState, Debug, IsHib)
end. end.
system_terminate(Reason, Parent, Debug, {CycleData, Module, CurStatus, CurState, _IsHib}) -> system_terminate(Reason, Parent, Debug, {CycleData, Module, CurStatus, CurState, _IsHib}) ->
@ -1129,7 +1127,7 @@ updateParent(Parent, #cycleData{parent = OldParent} = CycleData) ->
%%% Internal callbacks %%% Internal callbacks
wakeupFromHib(CycleData, Module, CurStatus, CurState, Debug, IsHib) -> wakeupFromHib(CycleData, Module, CurStatus, CurState, Debug, IsHib) ->
%% 这是一条新消息,唤醒了我们,因此我们必须立即收到它 %% 这是一条新消息,唤醒了我们,因此我们必须立即收到它
?n>MODULE:receiveIng(CycleData, Module, CurStatus, CurState, Debug, IsHib).
receiveIng(CycleData, Module, CurStatus, CurState, Debug, IsHib).
%%%========================================================================== %%%==========================================================================
%% Entry point for system_continue/3 %% Entry point for system_continue/3
@ -1138,7 +1136,7 @@ reLoopEntry(CycleData, Module, CurStatus, CurState, Debug, IsHib) ->
IsHib -> IsHib ->
proc_lib:hibernate(?MODULE, wakeupFromHib, [CycleData, Module, CurStatus, CurState, Debug, IsHib]); proc_lib:hibernate(?MODULE, wakeupFromHib, [CycleData, Module, CurStatus, CurState, Debug, IsHib]);
true -> true ->
?n>MODULE:receiveIng(CycleData, Module, CurStatus, CurState, Debug, IsHib)
receiveIng(CycleData, Module, CurStatus, CurState, Debug, IsHib)
end. end.
%% 接收新的消息 %% 接收新的消息
@ -1250,7 +1248,7 @@ matchEpmCallMsg(#cycleData{epmHers = EpmHers} = CycleData, Module, CurStatus, Cu
{'$deleteEpm', EpmHandler, Args} -> {'$deleteEpm', EpmHandler, Args} ->
{Reply, NewEpmHers} = doDeleteEpm(EpmHers, EpmHandler, Args), {Reply, NewEpmHers} = doDeleteEpm(EpmHers, EpmHandler, Args),
reply(From, Reply), reply(From, Reply),
?n>MODULE:receiveIng(CycleData#cycleData{epmHers = NewEpmHers}, Module, CurStatus, CurState, NewDebug, false);
receiveIng(CycleData#cycleData{epmHers = NewEpmHers}, Module, CurStatus, CurState, NewDebug, false);
{'$swapEpm', EpmId1, Args1, EpmId2, Args2} -> {'$swapEpm', EpmId1, Args1, EpmId2, Args2} ->
{Reply, NewEpmHers, IsHib} = doSwapEpm(EpmHers, EpmId1, Args1, EpmId2, Args2), {Reply, NewEpmHers, IsHib} = doSwapEpm(EpmHers, EpmId1, Args1, EpmId2, Args2),
reply(From, Reply), reply(From, Reply),
@ -1293,7 +1291,7 @@ startEpmCall(CycleData, Module, CurStatus, CurState, Debug, CallbackFun, Event,
terminate(Class, Reason, Stacktrace, CycleData, Module, CurStatus, CurState, NewDebug, [Event]) terminate(Class, Reason, Stacktrace, CycleData, Module, CurStatus, CurState, NewDebug, [Event])
end; end;
_ -> _ ->
?n>MODULE:receiveIng(CycleData, Module, CurStatus, CurState, Debug, IsHib)
receiveIng(CycleData, Module, CurStatus, CurState, Debug, IsHib)
end. end.
startEnterCall(CycleData, Module, PrevStatus, CurState, CurStatus, Debug, LeftEvents, Timeouts, NextEs, IsPos, IsHib, DoAfter) -> startEnterCall(CycleData, Module, PrevStatus, CurState, CurStatus, Debug, LeftEvents, Timeouts, NextEs, IsPos, IsHib, DoAfter) ->
@ -1457,7 +1455,7 @@ handleEnterCR(CycleData, Module, PrevStatus, CurState, CurStatus, Debug, LeftEve
handleEventCR(CycleData, Module, CurStatus, CurState, Debug, LeftEvents, Result, CallbackForm, From) -> handleEventCR(CycleData, Module, CurStatus, CurState, Debug, LeftEvents, Result, CallbackForm, From) ->
case Result of case Result of
{noreply, NewState} -> {noreply, NewState} ->
?n>MODULE:receiveIng(CycleData, Module, CurStatus, NewState, Debug, false);
receiveIng(CycleData, Module, CurStatus, NewState, Debug, false);
{noreply, NewState, Option} -> {noreply, NewState, Option} ->
case Option of case Option of
hibernate -> hibernate ->
@ -1470,7 +1468,7 @@ handleEventCR(CycleData, Module, CurStatus, CurState, Debug, LeftEvents, Result,
{reply, Reply, NewState} -> {reply, Reply, NewState} ->
reply(From, Reply), reply(From, Reply),
NewDebug = ?SYS_DEBUG(Debug, CycleData, {out, Reply, From}), NewDebug = ?SYS_DEBUG(Debug, CycleData, {out, Reply, From}),
?n>MODULE:receiveIng(CycleData, Module, CurStatus, NewState, NewDebug, false);
receiveIng(CycleData, Module, CurStatus, NewState, NewDebug, false);
{reply, Reply, NewState, Option} -> {reply, Reply, NewState, Option} ->
reply(From, Reply), reply(From, Reply),
NewDebug = ?SYS_DEBUG(Debug, CycleData, {out, Reply, From}), NewDebug = ?SYS_DEBUG(Debug, CycleData, {out, Reply, From}),

+ 1175
- 0
src/gen_srv.erl
Datei-Diff unterdrückt, da er zu groß ist
Datei anzeigen


Laden…
Abbrechen
Speichern