|
@@ -1,11 +1,11 @@
|
|
|
--module(n2o_async).
|
|
|
+-module(n4u_async).
|
|
|
-include_lib("n4u/include/n4u.hrl").
|
|
|
-behaviour(gen_server).
|
|
|
-export([start_link/1]).
|
|
|
-export([init/1,handle_call/3,handle_cast/2,handle_info/2,terminate/2,code_change/3]).
|
|
|
-compile([export_all, nowarn_export_all]).
|
|
|
|
|
|
-% n2o_async API
|
|
|
+% n4u_async API
|
|
|
|
|
|
async(Fun) -> async(async,wf:temp_id(),Fun).
|
|
|
async(Name, F) -> async(async,Name,F).
|
|
@@ -13,7 +13,7 @@ async(Class,Name,F) ->
|
|
|
Key = key(),
|
|
|
Handler = #handler{module=?MODULE,class=async,group=n2o,
|
|
|
name={Name,Key},config={F,?REQ},state=self()},
|
|
|
- case n2o_async:start(Handler) of
|
|
|
+ case ?MODULE:start(Handler) of
|
|
|
{error,{already_started,P}} -> init(P,Class,{Name,Key}), {P,{Class,{Name,Key}}};
|
|
|
{P,X} when is_pid(P) -> init(P,Class,X), {P,{Class,X}};
|
|
|
Else -> Else end.
|
|
@@ -21,7 +21,7 @@ async(Class,Name,F) ->
|
|
|
init(Pid,Class,Name) when is_pid(Pid) -> wf:cache({Class,Name},Pid,infinity), send(Pid,{parent,self()}).
|
|
|
send(Pid,Message) when is_pid(Pid) -> gen_server:call(Pid,Message);
|
|
|
send(Name,Message) -> send(async,{Name,key()},Message).
|
|
|
-send(Class,Name,Message) -> gen_server:call(n2o_async:pid({Class,Name}),Message).
|
|
|
+send(Class,Name,Message) -> gen_server:call(?MODULE:pid({Class,Name}),Message).
|
|
|
pid({Class,Name}) -> wf:cache({Class,Name}).
|
|
|
key() -> n2o_session:session_id().
|
|
|
restart(Name) -> restart(async,{Name,key()}).
|
|
@@ -31,7 +31,7 @@ flush() -> A=wf:actions(), wf:actions([]), get(parent) ! {flush,A}.
|
|
|
flush(Pool) -> A=wf:actions(), wf:actions([]), wf:send(Pool,{flush,A}).
|
|
|
stop(Name) -> stop(async,{Name,key()}).
|
|
|
stop(Class,Name) ->
|
|
|
- case n2o_async:pid({Class,Name}) of
|
|
|
+ case ?MODULE:pid({Class,Name}) of
|
|
|
Pid when is_pid(Pid) ->
|
|
|
#handler{group=Group} = Async = send(Pid,{get}),
|
|
|
[ supervisor:F(Group,{Class,Name})||F<-[terminate_child,delete_child]],
|