Skip to content

Instantly share code, notes, and snippets.

@Laymer
Last active May 29, 2018 09:17
Show Gist options
  • Save Laymer/adb17dfb1bfe5d4690742d38b64a95ca to your computer and use it in GitHub Desktop.
Save Laymer/adb17dfb1bfe5d4690742d38b64a95ca to your computer and use it in GitHub Desktop.
A template file for Erlang gen_server modules
%%%-------------------------------------------------------------------
%% @author Igor Kopestenski <i.kopest@gmail.com>
%% [https://github.com/Laymer/GrispLasp/]
%% @doc This is a <em>gen_server</em> template module.
%% @end
%%%-------------------------------------------------------------------
-module(gen_server_template).
-behaviour(gen_server).
%% API
-export([start_link/0]).
%% Gen Server Callbacks
-export([init/1,
handle_call/3,
handle_cast/2,
handle_info/2,
terminate/2,
code_change/3]).
%%====================================================================
%% Macros
%%====================================================================
-define(MACRO_TEMPLATE(X), {X} ).
%%====================================================================
%% Records
%%====================================================================
-record(state, {}).
%%====================================================================
%% API
%%====================================================================
start_link() ->
gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
%%====================================================================
%% Gen Server Callbacks
%%====================================================================
init([]) ->
{ok, #state{}}.
%%--------------------------------------------------------------------
handle_call(_Request, _From, State) ->
{reply, ignored, State}.
%%--------------------------------------------------------------------
handle_cast(_Msg, State) ->
{noreply, State}.
%%--------------------------------------------------------------------
handle_info(_Info, State) ->
{noreply, State}.
%%--------------------------------------------------------------------
terminate(_Reason, _State) ->
ok.
%%--------------------------------------------------------------------
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
%%====================================================================
%% Internal functions
%%====================================================================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment