comparison Comm.lua @ 86:22b37c800bc4

Database and comm versioning
author John@Yosemite-PC
date Sun, 15 Apr 2012 14:42:14 -0400
parents 9e5b0a2368ad
children 5ade79caeece
comparison
equal deleted inserted replaced
85:f938ec08d5a6 86:22b37c800bc4
23 return p,str 23 return p,str
24 end 24 end
25 25
26 local function SendMessage(str) 26 local function SendMessage(str)
27 --commlib:SendCommMessage("BSKADDON",str,"GUILD") 27 --commlib:SendCommMessage("BSKADDON",str,"GUILD")
28 commlib:SendCommMessage("BSKADDON",str,"RAID") 28 commlib:SendCommMessage("BSKADDON"..commversion,str,"RAID")
29 end 29 end
30 30
31 local function Send(handler,message) 31 local function Send(handler,message)
32 local p,str = BuildPacket(handler,message) 32 local p,str = BuildPacket(handler,message)
33 SendMessage(str) 33 SendMessage(str)
88 print("received",message) 88 print("received",message)
89 89
90 Comm[packet[1]](Comm,packet[2],sender,isloop) 90 Comm[packet[1]](Comm,packet[2],sender,isloop)
91 end 91 end
92 92
93 alertlist = {}
94 local function OnOlderCommReceived(prefix, message, distribution, sender)
95 if not alertlist[sender] then
96 printf("Received communication from %s, who is using an older version of the addon; ignoring",sender)
97 alertlist[sender]=true
98 end
99 end
100
101 local function OnNewerCommReceived(prefix, message, distribution, sender)
102 if not alertlist[sender] then
103 printf("Received communication from %s, who is using a newer version of the addon; ignoring",sender)
104 alertlist[sender]=true
105 end
106 end
107
93 function InitializeComm() 108 function InitializeComm()
94 commlib:RegisterComm("BSKADDON",OnCommReceived) 109 for i = 0,commversion-1 do
110 commlib:RegisterComm("BSKADDON"..i,OnOlderCommReceived)
111 end
112 commlib:RegisterComm("BSKADDON"..commversion,OnCommReceived)
113 for i = commversion+1,commversion+5 do -- some sensible number
114 commlib:RegisterComm("BSKADDON"..i,OnNewerCommReceived)
115 end
95 end 116 end
96 117
97 function DeinitializeComm() 118 function DeinitializeComm()
98 119
99 end 120 end