ejabberd模块中的协议属性是什么

时间:2016-01-30 21:34:43

标签: erlang ejabberd

ejabberd.erl模块中,使用-protocol属性:

-module(ejabberd).
-author('alexey@process-one.net').


-protocol({xep, 4, '2.9'}).
-protocol({xep, 86, '1.0'}).

该属性的用法是什么?

1 个答案:

答案 0 :(得分:1)

它们是用户定义的Erlang模块属性,可用于信息和编程。

例如,在实现XEP-0199(XMPP Ping)的mod_ping.erl模块中,您可以看到它的属性:

-module(mod_ping).
-protocol({xep, 199, '2.0'}).

同样在mod_vcard.erl实施机器人XEP-0054(vcard-temp)和XEP-0055(Jabber Search)中,您可以看到它们的属性:

-module(mod_vcard).
-protocol({xep, 54, '1.2'}).
-protocol({xep, 55, '1.3'}).

this page中,您可以找到XMPP扩展程序的完整列表。

同样很高兴知道使用ModuleName:module_info(attributes)可以获得模块属性列表。