Skip to content

Commit

Permalink
Adicionado um supervisor ao projeto.
Browse files Browse the repository at this point in the history
  • Loading branch information
carlosbrando committed Mar 30, 2011
1 parent 353b1c3 commit 3ff5a63
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 7 deletions.
2 changes: 1 addition & 1 deletion README
Original file line number Original file line Diff line number Diff line change
@@ -1 +1 @@
c(message_store). c(server_util). c(chat_client). c(message_router). c(message_store). c(server_util). c(chat_client). c(message_router). c(message_router_sup).
5 changes: 1 addition & 4 deletions chat_client.erl
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -18,7 +18,4 @@ handle_messages (Nickname) ->
handle_messages(Nickname); handle_messages(Nickname);
stop -> stop ->
ok ok
end. end.

start_router () ->
message_router:start_link().
5 changes: 3 additions & 2 deletions message_router.erl
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ unregister_nick (ClientName) ->
gen_server:call({global, ?SERVER}, {unregister_nick, ClientName}). gen_server:call({global, ?SERVER}, {unregister_nick, ClientName}).


shutdown () -> shutdown () ->
gen_server:cast(?SERVER, stop). gen_server:cast({global, ?SERVER}, stop).


%%==================================================================== %%====================================================================
%% gen_server callbacks %% gen_server callbacks
Expand All @@ -58,7 +58,8 @@ shutdown () ->
%% @end %% @end
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
init([]) -> init([]) ->
message_store:start_link(), process_flag(trap_exit, true),
io:format("~p (~p) starting...~n", [?MODULE, self()]),
{ok, dict:new()}. {ok, dict:new()}.


%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
Expand Down
59 changes: 59 additions & 0 deletions message_router_sup.erl
Original file line number Original file line Diff line number Diff line change
@@ -0,0 +1,59 @@
%%%-------------------------------------------------------------------
%%% File: message_router_sup.erl
%%% @author Carlos Brando <eduardobrando@gmail.com> [http://www.nomedojogo.com]
%%% @copyright 2011 Carlos Brando
%%% @doc
%%%
%%% @end
%%%
%%% @since 2011-03-29 by Carlos Brando
%%%-------------------------------------------------------------------
-module(message_router_sup).
-author('eduardobrando@gmail.com').

-behaviour(supervisor).

%% API
-export([start_link/0]).

%% Supervisor callbacks
-export([init/1]).

-define(SERVER, ?MODULE).

%%====================================================================
%% API functions
%%====================================================================
%%--------------------------------------------------------------------
%% @spec start_link() -> {ok,Pid} | ignore | {error,Error}
%% @doc Starts the supervisor
%% @end
%%--------------------------------------------------------------------
start_link() ->
supervisor:start_link({local, ?SERVER}, ?MODULE, []).

%%====================================================================
%% Supervisor callbacks
%%====================================================================
%%--------------------------------------------------------------------
%% @spec init(Args) -> {ok, {SupFlags, [ChildSpec]}} |
%% ignore |
%% {error, Reason}
%% @doc Whenever a supervisor is started using
%% supervisor:start_link/[2,3], this function is called by the new process
%% to find out about restart strategy, maximum restart frequency and child
%% specifications.
%% @end
%%--------------------------------------------------------------------
init([]) ->
process_flag(trap_exit, true),
io:format("~p (~p) starting...~n", [?MODULE, self()]),
MessageRouter = {message_router, {message_router, start_link, []},
permanent, 5000, worker, [message_router]},
MessageStore = {message_store, {message_store, start_link, []},
permanent, 5000, worker, [message_store]},
{ok, {{one_for_all, 5, 30}, [MessageRouter, MessageStore]}}.

%%====================================================================
%% Internal functions
%%====================================================================
2 changes: 2 additions & 0 deletions message_store.erl
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ shutdown () ->
%% @end %% @end
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
init([]) -> init([]) ->
process_flag(trap_exit, true),
io:format("~p (~p) starting...~n", [?MODULE, self()]),
init_store(), init_store(),
{ok, #state{}}. {ok, #state{}}.


Expand Down

0 comments on commit 3ff5a63

Please sign in to comment.