我希望扩展
gen_server
(创建gen_server_extra
)以实现一些附加功能。要求如下:
gen_server_extra
进程应该像常规的gen_server
一样运行。例如,它们应该通过gen_server:call
接受调用,与SASL集成,适配OTC监督树等。gen_server_extra
进程应当具有由gen_server_extra
提供的附加功能。这基本上意味着部分消息将由gen_server_extra
代码处理,而不是将它们传递给回调模块。其余消息原封不动地传递给回调模块。gen_server_extra
功能需要其自己的状态,这个状态应该被隐藏起来,不让回调模块看到。