Guest User

Untitled

a guest
Jun 18th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. --Testbed.lua
  2.  
  3. Testbed = LibStub("AceAddon-3.0"):NewAddon("Testbed", "AceConsole-3.0","AceEvent-3.0", "AceHook-3.0", "AceSerializer-3.0")
  4.  
  5. function strapp(a, b)
  6. return a..b
  7. end
  8.  
  9. function Testbed:OnEnable()
  10.  
  11. end
  12.  
  13. function Testbed:OnDisable()
  14.  
  15. end
  16.  
  17. function Testbed:StartRecv()
  18. self.recvbuffer = ""
  19. self.isrecv = true
  20. end
  21.  
  22. function Testbed:EndRecv()
  23. self.isrecv = false
  24. message(self.recvbuffer)
  25. assert( loadstring(self.recvbuffer))();
  26. self.recvbuffer = ""
  27. end
  28.  
  29. function Testbed:RecvData( packet )
  30. if packet.size then
  31. self.recvbuffer = strapp(self.recvbuffer, packet.buffer)
  32. end
  33. end
  34.  
  35. function Testbed:SendCtrlPacket( packet_type, who )
  36. local packet =
  37. {
  38. status = packet_type,
  39. buffer = nil,
  40. size = nil
  41. }
  42. return packet
  43. end
  44.  
  45. function Testbed:OnInitialize()
  46. self.isrecv = false
  47. self.debug = 1
  48. self.prefix = "tb|"
  49. self.recvbuffer = ""
  50. self:RegisterEvent("CHAT_MSG_ADDON")
  51. end
  52.  
  53. function Testbed:CHAT_MSG_ADDON(prefix, message, channel, sender)
  54. local PACKET_START = 7
  55. local PACKET_END = 9
  56. local PACKET_ERROR = 12
  57.  
  58. local good, packet = Testbed:Deserialize(message)
  59. if good then
  60. if packet.status then
  61. if packet.status == PACKET_START then
  62. Testbed:StartRecv()
  63. elseif packet.status == PACKET_END then
  64. Testbed:EndRecv()
  65. end
  66. elseif packet.buffer then
  67. Testbed:RecvData(packet)
  68. end
  69. end
  70. end
  71.  
  72. function Testbed:CreateDefaultDB()
  73.  
  74. end
Add Comment
Please, Sign In to add comment