packet_encoder.go 477 B

12345678910111213141516171819202122232425262728293031
  1. package protocol
  2. type packetEncoder interface {
  3. // primitives
  4. putInt8(in int8)
  5. putInt16(in int16)
  6. putInt32(in int32)
  7. putInt64(in int64)
  8. // arrays
  9. putInt32Array(in []int32)
  10. putArrayCount(in int)
  11. // misc
  12. putError(in KError)
  13. putString(in string)
  14. putBytes(in []byte)
  15. putRaw(in []byte)
  16. // stackable
  17. push(in pushEncoder)
  18. pushLength32()
  19. pushCRC32()
  20. pop()
  21. }
  22. type pushEncoder interface {
  23. saveOffset(in int)
  24. reserveLength() int
  25. run(curOffset int, buf []byte)
  26. }