Example #1
0
 def on_btn_clicked(self, text):
     """
     Common slot for all
     :return:
     """
     db_logger = LogData()
     db_logger.add_data(text)
     self.speech.speak(text)
     print (text)
 def add_in_new_entries(self):
     prev_log_index = self.prev_log_index
     for one_new_log in self.new_entries:
         one_new_log_data = LogData(
             one_new_log["log_index"], one_new_log["log_term"],
             one_new_log["request_command_action_list"])
         #if follower is not longer than leader
         if prev_log_index == (len(self.raft_peer_state.state_log) - 1):
             self.raft_peer_state.state_log.append(one_new_log_data)
             prev_log_index += 1
         #if follower id longer, it can be shorter bc of above filter
         else:
             self.raft_peer_state.state_log[prev_log_index +
                                            1] = one_new_log_data
             # self.raft_peer_state.state_log = self.raft_peer_state.state_log[0:prev_log_index + 2]
             prev_log_index += 1
Example #3
0
 def get_log_data(self):
     db_logger = LogData()
     return db_logger.get_data()
Example #4
0
import sys
import rospy
from cascar.msg import CarTicks
from qualisys.msg import Subject

from LogData import LogData
from datetime import datetime as dt

if len(sys.argv) > 1:
    filename = sys.argv[1]
else:
    filename = 'cascar_%s%s%s_%s_%s.pickle' % (
        dt.now().year, dt.now().month, dt.now().day, dt.now().hour, dt.now().minute)
print "Logging to file: %s" % filename

data = LogData(filename)


def logger_shutdown():
    global data

    n_ticks, n_qualisys = data.DataSize()
    print "Saving logged date into file " + filename
    print "  (%d, %d) data points (ticks) ... " % (n_ticks[0], n_ticks[0])
    print "  %s data points (qualisys) ... " % n_qualisys
    data.DumpLog()
    print "Done!"


def ticks_msg_callback(msg):
    global data
Example #5
0
    def process_request_command(self, one_recv_json_message_type):
        """
        
        Processing the request_command from user, it will send out not_leader if the
        User.py connect to the current peer who is not leader.
        
        :param one_recv_json_message_type: dict
        """
        with self.raft_peer_state.lock:
            # if command_request == [] means init finding leader
            if self.raft_peer_state.peer_state == "leader":

                if one_recv_json_message_type["request_command_list"] == []:
                    self.json_message_send_queue.put({
                        "msg_type":
                        "request_command_reply",
                        "command_result":
                        "is_leader",
                        "send_from":
                        list(self.user_socket.getsockname()),
                        "send_to":
                        list(one_recv_json_message_type["send_from"]),
                        "sender_term":
                        self.raft_peer_state.current_term
                    })
                    return
                temp_log = LogData(
                    len(self.raft_peer_state.state_log),
                    self.raft_peer_state.current_term,
                    one_recv_json_message_type["request_command_list"],
                    (one_recv_json_message_type["send_from"]))
                temp_log.increment_majority_count()
                # temp_log.one_log.check_over_majority((self.max_peer_number/2)+1)

                self.raft_peer_state.state_log.append(temp_log)

                if self.visualizaiton_on:
                    one_recv_json_message_type_deep_copy = copy.deepcopy(
                        one_recv_json_message_type)
                    one_recv_json_message_type_deep_copy[
                        "msg_type"] = "request_command_ack"
                    one_recv_json_message_type_deep_copy["send_from"] = list(
                        self.raft_peer_state.my_addr_port_tuple)
                    one_recv_json_message_type_deep_copy["send_to"] = list(
                        self.visualization_addr_port_tuple)
                    one_recv_json_message_type_deep_copy[
                        "sender_term"] = self.raft_peer_state.current_term
                    one_recv_json_message_type_deep_copy[
                        "index"] = temp_log.log_index
                    self.json_message_send_queue.put(
                        one_recv_json_message_type_deep_copy)

            else:
                self.json_message_send_queue.put({
                    "msg_type":
                    "request_command_reply",
                    "command_result":
                    "not_leader",
                    "send_from":
                    self.user_socket.getsockname(),
                    "send_to":
                    list(one_recv_json_message_type["send_from"]),
                    "sender_term":
                    self.raft_peer_state.current_term
                })