code: func (ch *Channel) NotifyPublish(confirm chan Confirmation) chan Confirmation {
  	ch.notifyM.Lock()
  	defer ch.notifyM.Unlock()
  
  	if ch.noNotify {
  		close(confirm)
  	} else {
  		ch.confirms.Listen(confirm)
  	}
  
  	return confirm
  
  }
docs: /*
  NotifyPublish registers a listener for reliable publishing. Receives from this
  chan for every publish after Channel.Confirm will be in order starting with
  DeliveryTag 1.
  
  There will be one and only one Confirmation Publishing starting with the
  delivery tag of 1 and progressing sequentially until the total number of
  Publishings have been seen by the server.
  
  Acknowledgments will be received in the order of delivery from the
  NotifyPublish channels even if the server acknowledges them out of order.
  
  The listener chan will be closed when the Channel is closed.
  
  The capacity of the chan Confirmation must be at least as large as the
  number of outstanding publishings.  Not having enough buffered chans will
  create a deadlock if you attempt to perform other operations on the Connection
  or Channel while confirms are in-flight.
  
  It's advisable to wait for all Confirmations to arrive before calling
  Channel.Close() or Connection.Close().
  
  */