當前位置: 首頁>>代碼示例>>Python>>正文


Python hub.sleep方法代碼示例

本文整理匯總了Python中ryu.lib.hub.sleep方法的典型用法代碼示例。如果您正苦於以下問題:Python hub.sleep方法的具體用法?Python hub.sleep怎麽用?Python hub.sleep使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在ryu.lib.hub的用法示例。


在下文中一共展示了hub.sleep方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: prefix_check_loop

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def prefix_check_loop(self):
        while True:
            prefixs_to_install = self.hop_db.get_uninstalled_prefix_list()
            self.logger.debug("prefix to install: %s", str(prefixs_to_install))

            for prefix in prefixs_to_install:
                prefix_nw = IPNetwork(prefix)

                for internal_network in self.cfg_mgr.get_internal_networks():
                    int_nw = IPNetwork(internal_network)

                    if int_nw == prefix_nw:
                        self.logger.info('Internal network, ignored.')
                        continue
                nexthop = self.hop_db.get_nexthop(prefix)
                self.install_best_path(prefix, nexthop)

            hub.sleep(3) 
開發者ID:paradisecr,項目名稱:SDN-IP-Ryu,代碼行數:20,代碼來源:sdn_ip.py

示例2: _monitor

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def _monitor(self):
		"""
			Main entry method of monitoring traffic.
		"""
		while CONF.weight == 'bw':
			self.stats['flow'] = {}
			self.stats['port'] = {}
			for dp in self.datapaths.values():
				self.port_features.setdefault(dp.id, {})
				self._request_stats(dp)
				# Refresh data.
				self.capabilities = None
				self.best_paths = None
			hub.sleep(setting.MONITOR_PERIOD)
			if self.stats['flow'] or self.stats['port']:
				self.show_stat('flow')
				self.show_stat('port')
				hub.sleep(1) 
開發者ID:Huangmachi,項目名稱:PureSDN,代碼行數:20,代碼來源:network_monitor.py

示例3: _send_loop

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def _send_loop(self):
        """
        A loop to proceed periodic BFD packet transmission.
        """
        while self._enable_send:
            hub.sleep(self._xmit_period)

            # Send BFD packet. (RFC5880 Section 6.8.7.)

            if self._remote_discr == 0 and not self._active_role:
                continue

            if self._remote_min_rx_interval == 0:
                continue

            if self._remote_demand_mode and \
                    self._session_state == bfd.BFD_STATE_UP and \
                    self._remote_session_state == bfd.BFD_STATE_UP and \
                    not self._is_polling:
                continue

            self._send() 
開發者ID:lagopus,項目名稱:ryu-lagopus-ext,代碼行數:24,代碼來源:bfdlib.py

示例4: _do_timeout_for_query

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def _do_timeout_for_query(self, timeout, datapath):
        """the process when the QUERY from the querier timeout expired."""
        dpid = datapath.id

        hub.sleep(timeout)
        outport = self._to_querier[dpid]['port']

        remove_dsts = []
        for dst in self._to_hosts[dpid]:
            if not self._to_hosts[dpid][dst]['replied']:
                # if no REPORT message sent from any members of
                # the group, remove flow entries about the group and
                # send a LEAVE message if exists.
                self._remove_multicast_group(datapath, outport, dst)
                remove_dsts.append(dst)

        for dst in remove_dsts:
            del self._to_hosts[dpid][dst] 
開發者ID:lagopus,項目名稱:ryu-lagopus-ext,代碼行數:20,代碼來源:igmplib.py

示例5: _switch_request_async

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def _switch_request_async(self, interval):
        while self.is_active:
            request = event.EventSwitchRequest()
            LOG.debug('switch_request async %s thread(%s)',
                      request, id(hub.getcurrent()))
            self.send_event(request.dst, request)

            start = time.time()
            busy = interval / 2
            i = 0
            while i < busy:
                if time.time() > start + i:
                    i += 1
                    LOG.debug('  thread is busy... %s/%s thread(%s)',
                              i, busy, id(hub.getcurrent()))
            LOG.debug('  thread yield to switch_reply handler. thread(%s)',
                      id(hub.getcurrent()))

            # yield
            hub.sleep(0)

            LOG.debug('  thread get back. thread(%s)',
                      id(hub.getcurrent()))
            hub.sleep(interval - busy) 
開發者ID:lagopus,項目名稱:ryu-lagopus-ext,代碼行數:26,代碼來源:dumper.py

示例6: test_0_call_error_notification

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def test_0_call_error_notification(self):
        l = []

        def callback(n):
            l.append(n)
        c = rpc.Client(self._client_sock, notification_callback=callback)
        c.send_notification(b'notify2', [b'notify_foo', []])
        hub.sleep(0.5)  # give the peer a chance to run
        obj = b'hoge'
        try:
            c.call(b'err', [obj])
            raise Exception("unexpected")
        except rpc.RPCError as e:
            assert e.get_value() == obj
        assert len(l) == 1
        n = l.pop(0)
        method, params = n
        assert method == b'notify_foo'
        assert params == [] 
開發者ID:lagopus,項目名稱:ryu-lagopus-ext,代碼行數:21,代碼來源:test_rpc.py

示例7: test_spawn_event3

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def test_spawn_event3(self):
        def _child(ev, ev2, result):
            ev2.wait()
            hub.sleep(0.5)
            result.append(1)
            ev.set()

        ev = hub.Event()
        ev2 = hub.Event()
        result = []
        with hub.Timeout(2):
            hub.spawn(_child, ev, ev2, result)
            hub.spawn(_child, ev, ev2, result)
            hub.sleep(0.5)
            ev2.set()  # this should wake up the above created two threads
            ev.wait(timeout=1)
        assert len(result) == 2 
開發者ID:lagopus,項目名稱:ryu-lagopus-ext,代碼行數:19,代碼來源:test_hub.py

示例8: test_spawn_joinall

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def test_spawn_joinall(self):
        def _child(ev2, result):
            ev2.wait()
            hub.sleep(0.5)
            result.append(1)
            raise BaseException("this exception should not be propagated")

        ev2 = hub.Event()
        threads = []
        result = []
        with hub.Timeout(2):
            threads.append(hub.spawn(_child, ev2, result))
            threads.append(hub.spawn(_child, ev2, result))
            hub.sleep(0.5)
            ev2.set()  # this should wake up the above created two threads
            hub.joinall(threads)
        assert len(result) == 2 
開發者ID:lagopus,項目名稱:ryu-lagopus-ext,代碼行數:19,代碼來源:test_hub.py

示例9: next

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def next(self):
        """Pops and returns the first outgoing message from the list.

        If message list currently has no messages, the calling thread will
        be put to sleep until we have at-least one message in the list that
        can be poped and returned.
        """
        # We pick the first outgoing available and send it.
        outgoing_msg = self.outgoing_msg_list.pop_first()
        # If we do not have any outgoing msg., we wait.
        if outgoing_msg is None:
            self.outgoing_msg_event.clear()
            self.outgoing_msg_event.wait()
            outgoing_msg = self.outgoing_msg_list.pop_first()

        return outgoing_msg


#
# Source
# 
開發者ID:lagopus,項目名稱:ryu-lagopus-ext,代碼行數:23,代碼來源:base.py

示例10: multipath_computation

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def multipath_computation(self):
        while True:
            if not self.topo_shape.is_empty() and self.network_is_measured:
                computation_start = time.time()
                self.logger.info('Starting multipath computation sub-routine')
                self.topo_shape.multipath_computation()
                self.logger.info(
                    'Multipath computation finished in %f seconds',
                    time.time() - computation_start
                )

            self.MONITORING_PORT_STATS = True
            if self.UPDATE_FORWARDING_CONTINOUSLY:
                hub.sleep(10)
            else:
                break 
開發者ID:dariobanfi,項目名稱:multipath-sdn-controller,代碼行數:18,代碼來源:mpsdn_controller.py

示例11: _monitor

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def _monitor(self):
		"""
			Main entry method of monitoring traffic.
		"""
		while CONF.weight == 'bw' or CONF.weight == 'hop':
			# Refresh data.
			self.stats['flow'] = {}
			self.stats['port'] = {}
			self.capabilities = None
			self.best_paths = None
			self.statRecord = []
			self.flows = []
			for dp in self.datapaths.values():
				self.port_features.setdefault(dp.id, {})
				self._request_stats(dp)
			hub.sleep(setting.MONITOR_PERIOD)
			if self.stats['flow'] or self.stats['port']:
				self.show_stat('flow')
				self.show_stat('port')
				hub.sleep(1) 
開發者ID:Huangmachi,項目名稱:Hedera,代碼行數:22,代碼來源:network_monitor.py

示例12: _link_request_async

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def _link_request_async(self, interval):
        while self.is_active:
            request = event.EventLinkRequest()
            LOG.debug('link_request async %s thread(%s)',
                      request, id(hub.getcurrent()))
            self.send_event(request.dst, request)

            start = time.time()
            busy = interval / 2
            i = 0
            while i < busy:
                if time.time() > start + i:
                    i += 1
                    LOG.debug('  thread is busy... %s/%s thread(%s)',
                              i, busy, id(hub.getcurrent()))
            LOG.debug('  thread yield to link_reply handler. thread(%s)',
                      id(hub.getcurrent()))

            # yield
            hub.sleep(0)

            LOG.debug('  thread get back. thread(%s)',
                      id(hub.getcurrent()))
            hub.sleep(interval - busy) 
開發者ID:openstack,項目名稱:deb-ryu,代碼行數:26,代碼來源:dumper.py

示例13: test_0_call_error_notification

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def test_0_call_error_notification(self):
        l = []

        def callback(n):
            l.append(n)
        c = rpc.Client(self._client_sock, notification_callback=callback)
        c.send_notification('notify2', ['notify_foo', []])
        hub.sleep(0.5)  # give the peer a chance to run
        obj = 'hoge'
        try:
            c.call('err', [obj])
            raise Exception("unexpected")
        except rpc.RPCError as e:
            assert e.get_value() == obj
        assert len(l) == 1
        n = l.pop(0)
        method, params = n
        assert method == 'notify_foo'
        assert params == [] 
開發者ID:openstack,項目名稱:deb-ryu,代碼行數:21,代碼來源:test_rpc.py

示例14: test_spawn_kill_joinall

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def test_spawn_kill_joinall(self):
        def _child(ev2, result):
            ev2.wait()
            result.append(1)

        ev2 = hub.Event()
        threads = []
        result = []
        with hub.Timeout(2):
            threads.append(hub.spawn(_child, ev2, result))
            threads.append(hub.spawn(_child, ev2, result))
            hub.sleep(0.5)
            for t in threads:
                hub.kill(t)
            hub.joinall(threads)
        assert len(result) == 0 
開發者ID:openstack,項目名稱:deb-ryu,代碼行數:18,代碼來源:test_hub.py

示例15: next

# 需要導入模塊: from ryu.lib import hub [as 別名]
# 或者: from ryu.lib.hub import sleep [as 別名]
def next(self):
        """Pops and returns the first outgoing message from the list.

        If message list currently has no messages, the calling thread will
        be put to sleep until we have at-least one message in the list that
        can be popped and returned.
        """
        # We pick the first outgoing available and send it.
        outgoing_msg = self.outgoing_msg_list.pop_first()
        # If we do not have any outgoing msg., we wait.
        if outgoing_msg is None:
            self.outgoing_msg_event.clear()
            self.outgoing_msg_event.wait()
            outgoing_msg = self.outgoing_msg_list.pop_first()

        return outgoing_msg

    # For Python 3 compatibility 
開發者ID:openstack,項目名稱:deb-ryu,代碼行數:20,代碼來源:base.py


注:本文中的ryu.lib.hub.sleep方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。