code: func (s *UDPSession) SetReadBuffer(bytes int) error {
  	s.mu.Lock()
  	defer s.mu.Unlock()
  	if s.l == nil {
  		if nc, ok := s.conn.(setReadBuffer); ok {
  			return nc.SetReadBuffer(bytes)
  		}
  	}
  	return errors.New(errInvalidOperation)
  }
docs: // SetReadBuffer sets the socket read buffer, no effect if it's accepted from Listener