code: func (ch *Channel) NotifyClose(c chan *Error) chan *Error {
  	ch.notifyM.Lock()
  	defer ch.notifyM.Unlock()
  
  	if ch.noNotify {
  		close(c)
  	} else {
  		ch.closes = append(ch.closes, c)
  	}
  
  	return c
  }
docs: /*
  NotifyClose registers a listener for when the server sends a channel or
  connection exception in the form of a Connection.Close or Channel.Close method.
  Connection exceptions will be broadcast to all open channels and all channels
  will be closed, where channel exceptions will only be broadcast to listeners to
  this channel.
  
  The chan provided will be closed when the Channel is closed and on a
  graceful close, no error will be sent.
  
  */