ioutil.go 430 B

12345678910111213141516171819202122232425262728293031323334
  1. package socketio
  2. import (
  3. "io"
  4. )
  5. type writerHelper struct {
  6. writer io.Writer
  7. err error
  8. }
  9. func newWriterHelper(w io.Writer) *writerHelper {
  10. return &writerHelper{
  11. writer: w,
  12. }
  13. }
  14. func (h *writerHelper) Write(p []byte) {
  15. if h.err != nil {
  16. return
  17. }
  18. for len(p) > 0 {
  19. n, err := h.writer.Write(p)
  20. if err != nil {
  21. h.err = err
  22. return
  23. }
  24. p = p[n:]
  25. }
  26. }
  27. func (h *writerHelper) Error() error {
  28. return h.err
  29. }