code: async def rotate_slaves(self):
          "Round-robin slave balancer"
          slaves = await self.sentinel_manager.discover_slaves(self.service_name)
          slave_address = list()
          if slaves:
              if self.slave_rr_counter is None:
                  self.slave_rr_counter = random.randint(0, len(slaves) - 1)
              for _ in range(len(slaves)):
                  self.slave_rr_counter = (self.slave_rr_counter + 1) % len(slaves)
                  slave_address.append(slaves[self.slave_rr_counter])
              return slave_address
          # Fallback to the master connection
          try:
              return await self.get_master_address()
          except MasterNotFoundError:
              pass
          raise SlaveNotFoundError('No slave found for %r' % (self.service_name)ync def rotate_slaves(self):
          "Round-robin slave balancer"
          slaves = await self.sentinel_manager.discover_slaves(self.service_name)
          slave_address = list()
          if slaves:
              if self.slave_rr_counter is None:
                  self.slave_rr_counter = random.randint(0, len(slaves) - 1)
              for _ in range(len(slaves)):
                  self.slave_rr_counter = (self.slave_rr_counter + 1) % len(slaves)
                  slave_address.append(slaves[self.slave_rr_counter])
              return slave_address
          # Fallback to the master connection
          try:
              return await self.get_master_address()
          except MasterNotFoundError:
              pass
          raise SlaveNotFoundError('No slave found for %r' % (self.service_name))
docs: Round-robin slave balancer