Event Documentation --------------------- STORE_NODE ev_data1 no_id ev_data2 no_comment ev_data3 no_spool storeNode (no_id, no_comment, no_spool) storeNode_int (no_id, no_comment, no_spool) A new initially deactivated node is created. If the node already exists, the no_comment and no_spool fields are updated. ENABLE_NODE ev_data1 no_id enableNode (no_id) enableNode_int (no_id) Enabling a node in turn enables all subscriptions. The ENABLE_NODE event must be generated on the local node. When processing the event the origin of a set the newly activated node is subscribed to will generate an ENABLE_SUBSCRIPTION event. Every node will also create sl_confirm rows for the node. DISABLE_NODE ev_data1 no_id disableNode (no_id) disableNode_int (no_id) Disabling a node also disables all its subscriptions. DROP_NODE ev_data1 no_id dropNode (no_id) dropNode_int (no_id) This completely removes a node with all its subscriptions, path and listen information from the configuration. STORE_PATH ev_data1 pa_server ev_data2 pa_client ev_data3 pa_conninfo ev_data4 pa_connretry storePath (pa_server, pa_client, pa_conninfo, pa_connretry) storePath_int (pa_server, pa_client, pa_conninfo, pa_connretry) DROP_PATH ev_data1 pa_server ev_data2 pa_client storePath (pa_server, pa_client) storePath_int (pa_server, pa_client) STORE_LISTEN ev_data1 li_origin ev_data2 li_provider ev_data3 li_receiver storeListen (li_origin, li_provider, li_receiver) storeListen_int (li_origin, li_provider, li_receiver) DROP_LISTEN ev_data1 li_origin ev_data2 li_provider ev_data3 li_receiver dropListen (li_origin, li_provider, li_receiver) dropListen_int (li_origin, li_provider, li_receiver) STORE_SET ev_data1 set_id ev_data2 set_origin ev_data3 set_comment storeSet (set_id, set_comment) storeSet_int (set_id, set_origin, set_comment) The node on which storeSet is called is automatically the origin of the new set. MOVE_SET ev_data1 set_id ev_data2 new_set_origin moveSet (set_id) moveSet_int (set_id, new_set_origin) The node on which moveSet is called is the one taking over the origin of the set. ACCEPT_SET ev_data1 set_id ev_data2 old_set_origin ev_data3 new_set_origin This was introduced to eliminate a data loss case. When MOVE_SET is received by the new origin node, an ACCEPT_SET is raised. On nodes, then, if we receive the ACCEPT_SET first, then we stop processing SYNCs so that a SYNC is not missed in the interim. DROP_SET ev_data1 set_id dropSet (set_id) dropSet_int (set_id) SET_ADD_TABLE ev_data1 set_id ev_data2 tab_id ev_data3 tab_fqname ev_data4 tab_attkind ev_data5 tab_comment setAddTable (set_id, tab_id, tab_fqname, tab_attkind, tab_comment) setAddTable_int (set_id, tab_id, tab_fqname, tab_attkind, tab_comment) tableAddTrigger (tab_id, tab_fqname, tab_attkind) Only nodes that are currently subscribed to the set will add the table to their configuration data. The call also adds the replication log trigger to the table. SET_DROP_TABLE ev_data1 tab_id setDropTable(tab_id) setDropTable_int(tab_id) Only nodes that are currently subscribed to the table will drop the table from their configuration data. The call also drops the replication log trigger from the table, and restores the "normal" rules/triggers. SET_DROP_SEQUENCE ev_data1 seq_id setDropSequence(seq_id) setDropSequence_int(seq_id) Only nodes that are currently subscribed to the sequence will drop the table from their configuration data. SET_MOVE_TABLE ev_data1 tab_id ev_data2 set_id setMoveTable(tab_id, new_set_id) setMoveTable_int(tab_id, new_set_id) Only nodes currently subscribed to the table will drop it from one set, and move it to another. SET_MOVE_SEQUENCE ev_data1 seq_id ev_data2 set_id setMoveSequence(seq_id, new_set_id) setMoveSequence_int(seq_id, new_set_id) Only nodes currently subscribed to the sequence will drop it from one set, and move it to another. SUBSCRIBE_SET ev_data1 sub_set ev_data2 sub_provider ev_data3 sub_receiver ev_data4 sub_forward subscribeSet (sub_set, sub_provider, sub_forward) subscribeSet_int (sub_set, sub_provider, sub_receiver, sub_forward) The subscribeSet() function is called on the origin. This will cascade through the system so that all nodes that store forwarding information for this set are aware of the new subscriber before the subscription is actually enabled. The origin of the set will react to this with issuing the ENABLE_SUBSCRIPTION message. UNSUBSCRIBE_SET ev_data1 sub_set ev_data2 sub_receiver unsubscribeSet (sub_set, sub_receiver) unsubscribeSet_int (sub_set, sub_receiver) ENABLE_SUBSCRIPTION ev_data1 sub_set ev_data2 sub_provider ev_data3 sub_receiver ev_data4 sub_forward enableSubscription (sub_set, sub_receiver) enableSubscription_int (sub_set, sub_receiver) This is a special message issued by the origin of a set when a node subscribes or a deactivated node gets reenabled.