code: def get_all_keys(reactor, key_type, value_type, etcd_address):
      
      etcd = Client(reactor, etcd_address)
      result = yield etcd.get(b'\x00', range_end=b'\x00')
  
      res = {}
      for item in result.kvs:
          if key_type == u'utf8':
              key = item.key.decode('utf8')
          elif key_type == u'binary':
              key = binascii.b2a_base64(item.key).decode().strip()
          else:
              raise Exception('logic error')
  
          if value_type == u'json':
              value = json.loads(item.value.decode('utf8'))
          elif value_type == u'binary':
              value = binascii.b2a_base64(item.value).decode().strip()
          elif value_type == u'utf8':
              value = item.value.decode('utf8')
          else:
              raise Exception('logic error')
  
          res[key] = value
  
      returnValue(res)
docs: Returns all keys from etcd.
  
      :param reactor: reference to Twisted' reactor.
      :param etcd_address: Address with port number where etcd is
          running.
      :return: An instance of txaioetcd.Range containing all keys and
          their values.