code: func (s *Server) notify(h uint16, data []byte) (int, error) {
  	// Acquire and reuse notifyBuffer. Release it after usage.
  	nBuf := <-s.chNotBuf
  	defer func() { s.chNotBuf <- nBuf }()
  
  	rsp := HandleValueNotification(nBuf)
  	rsp.SetAttributeOpcode()
  	rsp.SetAttributeHandle(h)
  	buf := bytes.NewBuffer(rsp.AttributeValue())
  	buf.Reset()
  	if len(data) > buf.Cap() {
  		data = data[:buf.Cap()]
  	}
  	buf.Write(data)
  	return s.conn.Write(rsp[:3+buf.Len()])
  }
docs: // notify sends notification to remote central.