code: func (q *BaseQueue) Pull(timeout time.Duration) (payload []byte, err error) {
  	cnx := q.pool.Get()
  	defer cnx.Close()
  
  	return q.Processor().Pull(cnx, q.Source(), timeout)
  }
docs: // Source implements the Source method on the Queue interface.