To implement a user-defined behaviour, write code similar to code for a special process but calling functions in a callback module for handling specific tasks.
If it is desired that the compiler should warn for missing callback functions, as it does for the OTP behaviours, implement and export the function:
behaviour_info(callbacks) ->
[{Name1,Arity1},...,{NameN,ArityN}].
where each {Name,Arity} specifies the name and arity of a callback function.
When the compiler encounters the module attribute -behaviour(Behaviour). in a module Mod, it will call Behaviour:behaviour_info(callbacks) and compare the result with the set of functions actually exported from Mod, and issue a warning if any callback function is missing.
Example:
%% User-defined behaviour module
-module(simple_server).
-export([start_link/2,...]).
-export([behaviour_info/1]).
behaviour_info(callbacks) ->
[{init,1},
{handle_req,1},
{terminate,0}].
start_link(Name, Module) ->
proc_lib:start_link(?MODULE, init, [self(), Name, Module]).
init(Parent, Name, Module) ->
register(Name, self()),
...,
Dbg = sys:debug_options([]),
proc_lib:init_ack(Parent, {ok, self()}),
loop(Parent, Module, Deb, ...).
...
In a callback module:
-module(db).
-behaviour(simple_server).
-export([init/0, handle_req/1, terminate/0]).
...
分享到:
相关推荐
RF and Digital Signal Processing for Software-Defined Radio: A Multi-Standard Multi-Mode Approach by Tony J. Rouphael RF and Digital Signal Processing for Software-Defined Radio: A Multi-...
Shared-Nothing MPP Databases with Distributed User-Defined Functions Versus Hadoop/Map-Reduce for Large Data Analytics
本资料包"AS400资料(5)------Separation ODBC jobs into user-defined subsystem.zip"聚焦于如何将ODBC(Open Database Connectivity)作业分离到用户自定义子系统中,这是一项关键的系统管理和优化技术。...
在ANSYS Fluent软件中,User-Defined Functions(UDFs)允许用户根据自己的需求定制特定的物理模型或算法。这篇官方教程“10.User-Defined Functions Appendix C-Programming.pdf”专注于介绍如何使用C语言编写UDFs...
easy way for adding new user defined peripherals directly to μVision2. It provides functions that are necessary to simulate the peripheral’s behavior as well as functions to display peripheral ...
在MATLAB编程中,用户自定义函数(User-Defined Functions)是实现特定计算或操作的重要工具。本课件主要讲解了MATLAB中的函数定义、变量传递以及可选参数的使用。 首先,MATLAB函数的基本结构由输入和输出参数列表...
**软件定义网络(Software-Defined Networking,SDN)——一项彻底改变网络架构的技术** 软件定义网络(SDN)是近年来网络技术领域的一项重大创新,它将传统的网络控制平面与数据平面分离,使得网络的控制逻辑可以...
以下是对“User-Defined-Exception-Classes:在帐户类中创建用户定义的异常类”这一主题的详细解释。 首先,让我们理解什么是用户定义的异常类。在标准库中,语言通常提供了一系列预定义的异常类,如`...
Software-Defined Networking (SDN) with OpenStack-Packt Publishing(2016)
"USERDEFINED-MATERIAL"指的是用户自定义材料模型,这允许工程师根据特定的需求创建自己的材料属性,以更准确地模拟实际工程中的复杂情况。"Ortho"在这里可能是指正交各向异性材料,这种材料的力学性能在不同的方向...
用户自定义函数(User Defined Functions,简称UDF)是ANSYS FLUENT软件中的一个重要特性,允许用户扩展软件的功能,以满足特定的流体动力学问题需求。在FLUENT中,UDF允许用户编写C或C++代码来定义新的物理模型、源...
"if-defined"是一个专注于简洁、高效解决方案的前端开源库,它的主要功能是在JavaScript中检查变量是否已定义,并根据定义状态返回相应的布尔值。这个库的核心思想是帮助开发者避免因未定义的变量引发的错误,提升...
Virtualized Software-Defined Networks and Services 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,...
软件定义无线电(Software-Defined Radio, SDR)在近年来已经成为了通信和导航领域的一个热点,它通过软件来灵活地控制硬件,从而实现对多种信号的处理和解码,极大地提高了系统的灵活性和可扩展性。 一、软件定义...
标题中的“LS-DYNA-USERDEFINED-MATERIAL-EXAMPLE”表明我们将探讨如何在LS-DYNA中进行自定义材料模型的开发和应用。 自定义材料在LS-DYNA中的实现主要通过用户子程序(User-Defined Materials, UDMs)。这允许...
"USERDEFINED-MATERIAL"是LS-DYNA中的一个重要特性,允许用户根据特定需求定义材料模型,以更精确地模拟各种复杂工况下的材料行为。 在LS-DYNA中,用户自定义材料(USERDEFINED-MATERIAL)是通过编写特殊的子程序来...
软件定义数据中心(Software-Defined Cloud Centers)是云计算技术的一个分支,其核心思想是通过软件定义的方式来管理和控制数据中心中的计算资源。这种技术允许数据中心的物理硬件抽象化,而资源的管理、分配和部署...