code: func (p *Plugin) Put(key string, data proto.Message, opts ...datasync.PutOption) error {
  	if p.Messaging.Disabled() {
  		return nil
  	}
  
  	if p.adapter != nil {
  		return p.adapter.Put(key, data, opts...)
  	}
  
  	return errors.New("Transport adapter is not ready yet. (Probably called before AfterInit)")
  }
docs: // Put propagates this call to a particular messaging Publisher.
  //
  // This method is supposed to be called in PubPlugin.AfterInit() or later (even from different go routine).