One thing that has bothered me about implementing gen_servers is that I have to create empty stubs for the callbacks that I don't need.  Today I made a gen_server that only needs init/1, so instead of creating all those stubs I just commented out the behavior definition "-behavior(gen_server)."
<div><br></div><div>It seems to work fine, and the compiler doesn't complain.  Are there any consequences to not having a behavior definition that I am overlooking?  My whole module looks something like...</div><div>
<br></div><div><br></div><div>-module(mymod).</div><div>%-behavior(gen_server).</div><div>-export([start_link/0, init/1]).</div><div><br></div><div>start_link() -></div><div><div>  gen_server:start_link(?MODULE, [], []).</div>
</div><div><br></div><div>init(_) -></div><div>  do_stuff...</div><div>  {ok, []}.</div><div><br></div><div><br></div><div>My actual use-case here is to have a gen_server that "holds" a named, read-only ets table for other processes to read.  init/1 creates the table and loads data, and process termination makes the table go away. </div>
<div><br></div><div>Thanks,</div><div>Dan.</div>