diff options
| author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-08-11 20:10:35 +0100 |
|---|---|---|
| committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-08-11 20:10:35 +0100 |
| commit | bbb61ce416b91492800c3956dbd6854fd115c416 (patch) | |
| tree | 8fed31e24ec9205f834f8f2fa39a4e0a873bc1fa | |
| parent | dd172f3127451c355af611ade4e34e5e6f3f4eae (diff) | |
| download | rabbitmq-server-git-bbb61ce416b91492800c3956dbd6854fd115c416.tar.gz | |
start the limiter programatically
Also, how do you name a function that returns a list 'find_child'
(singular)?
| -rw-r--r-- | src/rabbit_channel_sup.erl | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/rabbit_channel_sup.erl b/src/rabbit_channel_sup.erl index a217a6c403..f31cdd173f 100644 --- a/src/rabbit_channel_sup.erl +++ b/src/rabbit_channel_sup.erl @@ -54,39 +54,34 @@ start_link({tcp, Sock, Channel, FrameMax, ReaderPid, Protocol, User, VHost, {writer, {rabbit_writer, start_link, [Sock, Channel, FrameMax, Protocol, ReaderPid]}, intrinsic, ?MAX_WAIT, worker, [rabbit_writer]}), - Limiter = start_limiter(SupPid), + [Limiter] = supervisor2:find_child(SupPid, limiter), {ok, ChannelPid} = supervisor2:start_child( SupPid, {channel, {rabbit_channel, start_link, [Channel, ReaderPid, WriterPid, ReaderPid, Protocol, - User, VHost, Capabilities, Collector, Limiter]}, + User, VHost, Capabilities, Collector, + rabbit_limiter:make_token(Limiter)]}, intrinsic, ?MAX_WAIT, worker, [rabbit_channel]}), {ok, AState} = rabbit_command_assembler:init(Protocol), {ok, SupPid, {ChannelPid, AState}}; start_link({direct, Channel, ClientChannelPid, ConnPid, Protocol, User, VHost, Capabilities, Collector}) -> {ok, SupPid} = supervisor2:start_link(?MODULE, []), - Limiter = start_limiter(SupPid), + [Limiter] = supervisor2:find_child(SupPid, limiter), {ok, ChannelPid} = supervisor2:start_child( SupPid, {channel, {rabbit_channel, start_link, [Channel, ClientChannelPid, ClientChannelPid, ConnPid, Protocol, User, VHost, Capabilities, Collector, - Limiter]}, + rabbit_limiter:make_token(Limiter)]}, intrinsic, ?MAX_WAIT, worker, [rabbit_channel]}), {ok, SupPid, {ChannelPid, none}}. %%---------------------------------------------------------------------------- init([]) -> - {ok, {{one_for_all, 0, 1}, []}}. - -start_limiter(SupPid) -> - {ok, Pid} = - supervisor2:start_child( - SupPid, - {limiter, {rabbit_limiter, start_link, []}, - transient, ?MAX_WAIT, worker, [rabbit_limiter]}), - rabbit_limiter:make_token(Pid). + {ok, {{one_for_all, 0, 1}, + [{limiter, {rabbit_limiter, start_link, []}, + transient, ?MAX_WAIT, worker, [rabbit_limiter]}]}}. |
