async def emit_event(self, event):
        """
        Publish an event back to crossbar
        :param event: Event object
        """
        self.log.debug("publishing event on %s", self.publish_topic)
        if self.config.extra['config']['pub_options']['retain']:
            try:
                await persist_event(
                    self.publish_topic,
                    event,
                    self.pool
                )
            except SystemError as error:
                self.log.error(error)
                return

        try:
            await self.publish(
                self.publish_topic,
                event.__dict__,
                options=self.publish_options
            )
        except TransportLost as error:
            for task in asyncio.Task.all_tasks():
                task.cancel()
            asyncio.get_event_loop().stop()
            self.log.error(error)
async def emit_event ( self , event ) : self . log . debug ( "publishing event on %s" , self . publish_topic ) if self . config . extra [ 'config' ] [ 'pub_options' ] [ 'retain' ] : try : await persist_event ( self . publish_topic , event , self . pool ) except SystemError as error : self . log . error ( error ) return try : await self . publish ( self . publish_topic , event . __dict__ , options = self . publish_options ) except TransportLost as error : for task in asyncio . Task . all_tasks ( ) : task . cancel ( ) asyncio . get_event_loop ( ) . stop ( ) self . log . error ( error )
Publish an event back to crossbar
        :param event: Event object