code: func (c *Call) CloseStream() error {
  	if !c.Stream {
  		return errors.New("rpc: cannot close non-stream request")
  	}
  	<-c.sent
  	c.client.sending.Lock()
  	defer c.client.sending.Unlock()
  
  	c.client.mutex.Lock()
  	if c.client.shutdown {
  		c.client.mutex.Unlock()
  		return ErrShutdown
  	}
  	c.client.mutex.Unlock()
  
  	c.client.request.ServiceMethod = "CloseStream"
  	c.client.request.Seq = c.seq
  	return c.client.codec.WriteRequest(&c.client.request, struct{}{})
  }
docs: // CloseStream closes the associated stream