def __init__(self):
        Node.__init__(self)
        # load and initialize the object to be replicated
        import importlib
        objectloc,a,classname = self.objectname.rpartition('.')
        self.object = None
        try:
            module = importlib.import_module(objectloc)
            if hasattr(module, classname):
                self.object = getattr(module, classname)()
        except (ValueError, ImportError, AttributeError):
            self.object = None

        if not self.object:
            self.logger.write("Object Error", "Object cannot be found.")
            self._graceexit(1)
        try:
            self.token = getattr(self.object, '_%s__concoord_token' % self.objectname)
        except AttributeError as e:
            if self.debug: self.logger.write("State", "Object initialized without a token.")
            self.token = None

        # leadership state
        self.leader_initializing = False
        self.isleader = False
        self.ballotnumber = (0, 0, self.id)
        self.nexttoexecute = 1
        # decided commands: <commandnumber:command>
        self.decisions = {}
        self.decisionset = set()
        # executed commands: <command:(replycode,commandresult,unblocked{})>
        self.executed = {}
        # commands that are proposed: <commandnumber:command>
        self.proposals = {}
        self.proposalset = set()
        # commands that are received, not yet proposed: <commandnumber:command>
        self.pendingcommands = {}
        self.pendingcommandset = set()
        # commandnumbers known to be in use
        self.usedcommandnumbers = set()
        # nodes being added/deleted
        self.nodesbeingdeleted = set()
        # number for metacommands initiated from this replica
        self.metacommandnumber = 0
        # keep nodes that are recently updated
        self.recentlyupdatedpeerslock = Lock()
        self.recentlyupdatedpeers = []

        # Quorum state
        if self.durable:
            self.file = open('concoordlog', 'a')

        self.quorumballotnumber = (0, 0, '')
        self.last_accept_msg_id = -1
        self.quorumaccepted = PValueSet()
        self.objectsnapshot = (0,None)

        # PERFORMANCE MEASUREMENT VARS
        self.firststarttime = 0
        self.firststoptime = 0
        self.secondstarttime = 0
        self.secondstoptime = 0
        self.count = 0

        self.throughput_runs = 0
        self.throughput_stop = 0
        self.throughput_start = 0
dataset/ETHPy150Open denizalti/concoord/concoord/replica.py/Replica.__init__/original