zbuff.lua 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. local buff = zbuff.create(15,6)
  2. for i=0,14 do
  3. log.info("read byte",i,buff[i])
  4. assert(buff[i] == 6,"init error")
  5. end
  6. local writeLen = buff:write("abcde")
  7. log.info("writeLen string",writeLen)
  8. assert(writeLen == 5,"string write length error")
  9. writeLen = buff:write(0x31,0x32,0x33,0x34,0x35)
  10. log.info("writeLen numbers",writeLen)
  11. assert(writeLen == 5,"numbers write length error")
  12. buff:seek(0)
  13. local readData = buff:read(5)
  14. log.info("readData1",readData)
  15. assert(readData == "abcde","read data1 error")
  16. readData = buff:read(5)
  17. log.info("readData2",readData)
  18. assert(readData == "12345","read data2 error")
  19. log.info("write bytes")
  20. for i=0,9 do
  21. buff[i] = i * 2
  22. end
  23. for i=0,9 do
  24. log.info("read byte",i,buff[i])
  25. assert(buff[i] == i * 2,"read byte error")
  26. end
  27. buff:seek(0)
  28. writeLen = buff:pack(">bbbIAIII",1,2,3,4,"abc",666,2,3)
  29. log.info("pack write length",writeLen)
  30. assert(writeLen == 15,"pack write length error")
  31. buff:seek(0)
  32. local len,b1,b2,b3,b4,s,i1 = buff:unpack(">bbbIA3III")
  33. log.info("unpack read",len,b1,b2,b3,b4,s,i1)
  34. assert(len == 14,"pack read length error")
  35. assert(b1 == 1,"pack read b1 error")
  36. assert(b2 == 2,"pack read b2 error")
  37. assert(b3 == 3,"pack read b3 error")
  38. assert(b4 == 4,"pack read b4 error")
  39. assert(s == "abc","pack read s error")
  40. assert(i1 == 666,"pack read I error")