code: async def unsubscribe(self):
          
          await self._nc.unsubscribe(self.sid)
  
          try:
              # Stop the processing task for the subscription.
              sub = self._sc._sub_map[self.inbox]
              sub._msgs_task.cancel()
              del self._sc._sub_map[self.inbox]
          except KeyError:
              pass
  
          req = protocol.UnsubscribeRequest()
          req.clientID = self._sc._client_id
          req.subject = self.subject
          req.inbox = self.ack_inbox
  
          if self.durable_name is not None:
              req.durableName = self.durable_name
  
          msg = await self._nc.request(
              self._sc._unsub_req_subject,
              req.SerializeToString(),
              self._sc._connect_timeout,
              )
          resp = protocol.SubscriptionResponse()
          resp.ParseFromString(msg.data)
  
          if resp.error != "":
              raise StanError(resp.error)
docs: Remove subscription on a topic in this client.