[erlang-questions] Module-Function-Arguments (MFA)
Fri Jun 26 19:48:16 CEST 2015
You should create a behavior module that defines the callbacks, which act
like -spec entries for the module that implements it.
%% The "service" module.
%% Replace this with whatever argument and return types are needed.
-callback handle_tick() -> ok.
%% This module will probably also contain other things that you use to
drive the behavior of the client module.
%% The "client" module
-behaviour(some_service). %% This will force a check at compile-time that
the module implements the callbacks.
%% Replace with the proper implementation and type spec.
-spec handle_tick() -> ok.
handle_tick() -> ok.
On Fri, Jun 26, 2015 at 10:51 AM, Avinash Dhumane <nistrigunya@REDACTED>
> I need to implement a "service" functionality which allows the "client" to
> implement callbacks (from service into client's module) which it wishes to
> I accept the module name as parameter from the client and mandate the
> function names (callbacks) and parameters thereof which the client may
> define in its module.
> Suppose one of the callback names is 'handle_tick', and the module name
> supplied by the client is held in variable 'Module' in my service
> implementation code.
> How do I verify whether client has implemented the function handle_tick()
> in its module? Or, do I just invoke it and handle the exception using
> PS: I observe that the web sockets functionality in Yaws uses similar
> mechanism to invoke callbacks in client's module. But, digging into Yaws'
> source code is a little too overwhelming for me :-(
> erlang-questions mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions