encoding.go 551 B

12345678910111213141516171819202122232425
  1. package protocol
  2. import (
  3. "io"
  4. )
  5. type RequestEncoder interface {
  6. EncodeRequestHeader(*RequestHeader, io.Writer)
  7. EncodeRequestBody(io.Writer) io.Writer
  8. }
  9. type RequestDecoder interface {
  10. DecodeRequestHeader(io.Reader) (*RequestHeader, error)
  11. DecodeRequestBody(io.Reader) io.Reader
  12. }
  13. type ResponseEncoder interface {
  14. EncodeResponseHeader(*ResponseHeader, io.Writer)
  15. EncodeResponseBody(io.Writer) io.Writer
  16. }
  17. type ResponseDecoder interface {
  18. DecodeResponseHeader(io.Reader) (*ResponseHeader, error)
  19. DecodeResponseBody(io.Reader) io.Reader
  20. }