code: func (p *BlockPuller) Clone() *BlockPuller {
  	// Clone by value
  	copy := *p
  	// Reset internal state
  	copy.stream = nil
  	copy.blockBuff = nil
  	copy.latestSeq = 0
  	copy.endpoint = ""
  	copy.conn = nil
  	copy.cancelStream = nil
  	return &copy
  }
docs: // Clone returns a copy of this BlockPuller initialized
  // for the given channel