摘要: 作为gen_server启动初始化时注册钩子函数:名字为local_send_to_resource_hook,函数为process_command/3process_command(From, To, Packet):提供kill、showlh、setlh、help命令,可远程节点远程利用erla... 阅读全文
posted @ 2015-12-15 22:39 wales.song 阅读(302) 评论(0) 推荐(0)
摘要: 作为gen_server启动,作为pg2模块的封装pg2这个模块实现了进程组的功能。例如进程组的名称为test,而且有一系列进程位于组内,可能这些进程位于不同的节点上,都可以成为test的成员。不能够直接向test发送消息,但是通过方法get_members/1 和 get_local_member... 阅读全文
posted @ 2015-12-15 21:57 wales.song 阅读(168) 评论(0) 推荐(0)
摘要: ejabberd_hooks作为ejabberd_sup的子进程以gen_server启动首先初始化创建hooks(ets)表,ejabberd_hooks作为系统的钩子server,注册一系列的方法到hooks里面,方便程序调用注册方法为:add(Hook, Host, Module, Funct... 阅读全文
posted @ 2015-12-15 21:51 wales.song 阅读(214) 评论(0) 推荐(0)
摘要: ejabberd.app.src{application, ejabberd, [{description, "ejabberd"}, {vsn, "15.11.55"}, {modules, []}, {registered, []}, {applications, [kernel, st... 阅读全文
posted @ 2015-12-15 18:26 wales.song 阅读(599) 评论(0) 推荐(0)
摘要: ets基础:1、ets和dets基本是做统一件事情:提供大型的“键-值”搜索表。ets驻留在内存,dets驻留在磁盘。2、ets和dets可以被多个进程共享。3、ets和dets表的结构数据是“键-值”对。我们在表的最常用的操作是插入和查找。一个ets和dets表其实就是一系列erlang元祖。4、... 阅读全文
posted @ 2015-12-15 17:36 wales.song 阅读(341) 评论(0) 推荐(0)
摘要: 1、schema 表 Mnesia系统的配置在schema里描述 schema是一个特殊的表,它包含了表名、每个表的存储类型(表应该存储为RAM、硬盘或两者)以及表的位置等信息 schema表的信息只能通过schema的方法来操作 1)mnesia:create_schema(NodeLis... 阅读全文
posted @ 2015-12-15 12:05 wales.song 阅读(518) 评论(0) 推荐(0)
摘要: ejabberd的config模块-record(state, {opts = [] :: [acl:acl() | local_config()], hosts = [] :: [binary()], ov... 阅读全文
posted @ 2015-12-15 11:03 wales.song 阅读(255) 评论(0) 推荐(0)