'get_server_descriptors(default = UNDEFINED)
Provides an iterator for all of the server descriptors that tor currently
knows about.
**As of Tor version 0.2.3.25 relays no longer get server descriptors by
default.** It\'s advised that you use microdescriptors instead, but if you
really need server descriptors then you can get them by setting
\'UseMicrodescriptors 0\'.
:param list default: items to provide if the query fails
:returns: iterates over
:class:`~stem.descriptor.server_descriptor.RelayDescriptor` for relays in
the tor network
:raises: :class:`stem.ControllerError` if unable to query tor and no
default was provided'

@with_default(yields=True)
def get_server_descriptors(self, default=UNDEFINED):

    desc_content = self.get_info('desc/all-recent', get_bytes=True)
    if (not desc_content):
        if (not self._is_server_descriptors_available()):
            raise stem.ControllerError(SERVER_DESCRIPTORS_UNSUPPORTED)
        else:
            raise stem.DescriptorUnavailable('Descriptor    information    is    unavailable,    tor    might    still    be    downloading    it')
    for desc in stem.descriptor.server_descriptor._parse_file(io.BytesIO(desc_content)):
        (yield desc)
