From 28e9f6d79feea807f0c35960c37f932a0c60e1bb Mon Sep 17 00:00:00 2001 From: Matthias Radestock Date: Thu, 28 Jul 2011 16:26:55 +0100 Subject: refactor --- src/gen_server2.erl | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/gen_server2.erl b/src/gen_server2.erl index 64a3502c..35258139 100644 --- a/src/gen_server2.erl +++ b/src/gen_server2.erl @@ -599,21 +599,20 @@ adjust_timeout_state(SleptAt, AwokeAt, {backoff, CurrentTO, MinimumTO, {backoff, CurrentTO1, MinimumTO, DesiredHibPeriod, RandomState1}. in({'$gen_cast', Msg} = Input, - GS2State = #gs2_state { prioritise_cast = PC, queue = Queue }) -> - GS2State #gs2_state { queue = priority_queue:in( - Input, PC(Msg, GS2State), Queue) }; + GS2State = #gs2_state { prioritise_cast = PC }) -> + in(Input, PC(Msg, GS2State), GS2State); in({'$gen_call', From, Msg} = Input, - GS2State = #gs2_state { prioritise_call = PC, queue = Queue }) -> - GS2State #gs2_state { queue = priority_queue:in( - Input, PC(Msg, From, GS2State), Queue) }; -in({'EXIT', Parent, _Reason} = Input, - GS2State = #gs2_state { parent = Parent, queue = Queue }) -> - GS2State #gs2_state { queue = priority_queue:in(Input, infinity, Queue) }; -in({system, _From, _Req} = Input, GS2State = #gs2_state { queue = Queue }) -> - GS2State #gs2_state { queue = priority_queue:in(Input, infinity, Queue) }; -in(Input, GS2State = #gs2_state { prioritise_info = PI, queue = Queue }) -> - GS2State #gs2_state { queue = priority_queue:in( - Input, PI(Input, GS2State), Queue) }. + GS2State = #gs2_state { prioritise_call = PC }) -> + in(Input, PC(Msg, From, GS2State), GS2State); +in({'EXIT', Parent, _R} = Input, GS2State = #gs2_state { parent = Parent }) -> + in(Input, infinity, GS2State); +in({system, _From, _Req} = Input, GS2State) -> + in(Input, infinity, GS2State); +in(Input, GS2State = #gs2_state { prioritise_info = PI }) -> + in(Input, PI(Input, GS2State), GS2State). + +in(Input, Priority, GS2State = #gs2_state { queue = Queue }) -> + GS2State # gs2_state { queue = priority_queue:in(Input, Priority, Queue) }. process_msg({system, From, Req}, GS2State = #gs2_state { parent = Parent, debug = Debug }) -> -- cgit v1.2.1