'get_network_statuses(default = UNDEFINED)
Provides an iterator for all of the router status entries that tor
currently knows about.
This provides
:class:`~stem.descriptor.router_status_entry.RouterStatusEntryMicroV3`
instances if tor is using microdescriptors...
controller.get_conf(\'UseMicrodescriptors\', \'0\') == \'1\'
... and :class:`~stem.descriptor.router_status_entry.RouterStatusEntryV3`
otherwise.
:param list default: items to provide if the query fails
:returns: iterates over
:class:`~stem.descriptor.router_status_entry.RouterStatusEntry` 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_network_statuses(self, default=UNDEFINED):

    if (self.get_conf('UseMicrodescriptors', '0') == '1'):
        desc_class = stem.descriptor.router_status_entry.RouterStatusEntryMicroV3
    else:
        desc_class = stem.descriptor.router_status_entry.RouterStatusEntryV3
    desc_content = self.get_info('ns/all', get_bytes=True)
    if (not desc_content):
        raise stem.DescriptorUnavailable('Descriptor    information    is    unavailable,    tor    might    still    be    downloading    it')
    desc_iterator = stem.descriptor.router_status_entry._parse_file(io.BytesIO(desc_content), True, entry_class=desc_class)
    for desc in desc_iterator:
        (yield desc)
