读书人

ejabberd 三个没弄明白的疑问

发布时间: 2012-08-27 21:21:56 作者: rapoo

ejabberd 三个没有弄明白的疑问

?

?

?

1>

1794 ? ? ? ? ? ? case transaction(CreateNode, transaction) of

1795 ? ? ? ? ? ? ? ? {result, {NodeId, SubsByDepth, {Result, broadcast}}} ->

1796 ? ? ? ? ? ? ? ? ? ? broadcast_created_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

1797 ? ? ? ? ? ? ? ? ? ? case Result of

1798 ? ? ? ? ? ? ? ? ? ? ? ? default -> {result, Reply};

1799 ? ? ? ? ? ? ? ? ? ? ? ? _ -> {result, Result}

1800 ? ? ? ? ? ? ? ? ? ? end;

1801 ? ? ? ? ? ? ? ? {result, {_NodeId, _SubsByDepth, default}} ->

1802 ? ? ? ? ? ? ? ? ? ? {result, Reply};

原来这里的广播是针对 集合节点的。例如:树节点,当在创建子节点时会产生调用此broadcast_created_node
不明白以下两处的含义,待解决。。。2>?create_node(Host, ServerHost, string_to_node("/home"), service_jid(Host), "hometree"),??create_node(Host, ServerHost, string_to_node("/home"), service_jid(Host), "hometree"),?

3>

今天又添加了个疑问, 没搞明白 下面为什么要执行两个presence

?

?742 presence_probe(#jid{luser = User, lserver = Server, lresource = Resource} = JID, JID, Pid) ->

?743 ? ? %%?DEBUG("presence probe self ~s@~s/~s ?~s@~s/~s",[User,Server,Resource,element(2,JID),element(3,JID),element(4,JID)]),

?744 ? ? presence(Server, {presence, JID, Pid}), ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

?745 ? ? presence(Server, {presence, User, Server, [Resource], JID});



4>今天又多了个疑问下面代码为什么要 比较SubKey和GenKey479 publish_item(NodeIdx, Publisher, PublishModel, MaxItems, ItemId, Payload) ->?480 ? ? ?DEBUG("In ~p:publish_item ~p ItemId=~p~n", [?MODULE, ?LINE, ItemId]),?481 ? ? SubKey = jlib:jid_tolower(Publisher),?482 ? ? GenKey = jlib:jid_remove_resource(SubKey),?483 ? ? ?DEBUG("In ~p:publish_item ~p??484 ? ? ? ? ? ? ~nPublisher=~p~n SubKey=~p~n GenKey=~p~n",?485 ? ? ? ? ? ? [?MODULE, ?LINE, Publisher, SubKey, GenKey]),?486 ? ? GenState = get_state(NodeIdx, GenKey),?487 ? ? SubState = case SubKey of?488 ? ? ? ? GenKey -> GenState;?489 ? ? ? ? _ -> get_state(NodeIdx, SubKey) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??490 ? ? ? ? end,

读书人网 >编程

热点推荐