/**
  * {@inheritdoc}
  */
 public function publish(LocationInterface $location, Request $request)
 {
     $this->dispatcher->dispatch(PublishEvent::NAME, new PublishEvent($location, $request));
     $this->driver->publish($location, $request);
 }
 /**
  * {@inheritdoc}
  */
 public function publish(Request $request)
 {
     $this->driver->publish($this->location, $request);
     return $this;
 }
 /**
  * {@inheritdoc}
  */
 public function publish(LocationInterface $location, Request $request)
 {
     $this->asyncDriver->publish($location, $request);
 }