Ejemplo n.º 1
0
 def on_connected(self, headers, body):
     """
     Once the connection is established, and 'heart-beat' is found in the headers, we calculate the real heartbeat numbers
     (based on what the server sent and what was specified by the client) - if the heartbeats are not 0, we start up the
     heartbeat loop accordingly.
     """
     if 'heart-beat' in headers.keys():
         self.heartbeats = utils.calculate_heartbeats(headers['heart-beat'].replace(' ', '').split(','), self.heartbeats)
         if self.heartbeats != (0,0):
             utils.default_create_thread(self.__heartbeat_loop)
Ejemplo n.º 2
0
    def on_connected(self, headers, body):
        """
        Once the connection is established, and 'heart-beat' is found in the headers, we calculate the real heartbeat numbers
        (based on what the server sent and what was specified by the client) - if the heartbeats are not 0, we start up the
        heartbeat loop accordingly.
        """
        self.received_heartbeat = time.time()
        if 'heart-beat' in headers.keys():
            self.heartbeats = utils.calculate_heartbeats(headers['heart-beat'].replace(' ', '').split(','),
                                                         self.heartbeats)
            if self.heartbeats != (0, 0):
                self.send_sleep = self.heartbeats[0] / 1000

                # receive gets an additional threshold of 2 additional seconds
                self.receive_sleep = (self.heartbeats[1] / 1000) + 2

                if self.send_sleep == 0:
                    self.sleep_time = self.receive_sleep
                elif self.receive_sleep == 0:
                    self.sleep_time = self.send_sleep
                else:
                    # sleep is the GCD of the send and receive times
                    self.sleep_time = gcd(self.send_sleep, self.receive_sleep) / 2.0

                self.running = True
                if self.heartbeat_thread is None:
                    self.heartbeat_thread = utils.default_create_thread(self.__heartbeat_loop)
Ejemplo n.º 3
0
    def on_connected(self, headers, body):
        """
        Once the connection is established, and 'heart-beat' is found in the headers, we calculate the real heartbeat numbers
        (based on what the server sent and what was specified by the client) - if the heartbeats are not 0, we start up the
        heartbeat loop accordingly.
        """
        self.received_heartbeat = time.time()
        if 'heart-beat' in headers.keys():
            self.heartbeats = utils.calculate_heartbeats(
                headers['heart-beat'].replace(' ', '').split(','),
                self.heartbeats)
            if self.heartbeats != (0, 0):
                self.send_sleep = self.heartbeats[0] / 1000

                # receive gets an additional threshold of 2 additional seconds
                self.receive_sleep = (self.heartbeats[1] / 1000) + 2

                if self.send_sleep == 0:
                    self.sleep_time = self.receive_sleep
                elif self.receive_sleep == 0:
                    self.sleep_time = self.send_sleep
                else:
                    # sleep is the GCD of the send and receive times
                    self.sleep_time = gcd(self.send_sleep,
                                          self.receive_sleep) / 2.0

                self.running = True
                if self.heartbeat_thread is None:
                    self.heartbeat_thread = utils.default_create_thread(
                        self.__heartbeat_loop)
Ejemplo n.º 4
0
 def on_connected(self, headers, body):
     if 'heart-beat' in headers.keys():
         self.heartbeats = utils.calculate_heartbeats(headers['heart-beat'].replace(' ', '').split(','), self.heartbeats)
         if self.heartbeats != (0,0):
             utils.default_create_thread(self.__heartbeat_loop)