def _get_nom_snapshot(self, message): snapshot = self.snapshotter.get_snapshot() response = SyncMessage(type="RESPONSE", messageClass="NOMSnapshot", time=SyncTime.now(), xid=message.xid, value=snapshot) self.send(response)
def __init__(self, pending_message, b64_packet, time=None, send_event=False): # TODO(cs): boolean flag is ugly. Should use subclasses, but EventMixin # doesn't support addListener() on super/subclasses. super(PendingMessage, self).__init__() self.time = time if time else SyncTime.now() self.pending_message = pending_message self.b64_packet = b64_packet self.send_event = send_event
def _get_deterministic_value(self, message): value = self.state_master.get_deterministic_value( self.controller, message.name) response = SyncMessage(type="RESPONSE", messageClass="DeterministicValue", time=SyncTime.now(), xid=message.xid, value=value) self.send(response)
def __init__(self, output_path=None): ''' Automatically generate an output_path in input_traces/ if one is not provided. ''' self.output_path = output_path self.dp_events = [] self.last_time = SyncTime.now() self._disallow_timeouts = False self._events_after_close = [] self.output = None
def __init__(self, pending_message, b64_packet, time=None, send_event=False): # TODO(cs): boolean flag is ugly. Should use subclasses, but EventMixin # doesn't support addListener() on super/subclasses. super(PendingMessage, self).__init__() self.time = time if time else SyncTime.now() self.pending_message = pending_message self.b64_packet = b64_packet self.send_event = send_event
def get_deterministic_value(self, controller, name, xid): # TODO(cs): xid arguably shouldn't be known to STS value = None if name == "gettimeofday": value = SyncTime.now() else: raise ValueError("unsupported deterministic value: %s" % name) # TODO(cs): implement Andi's improved gettime heuristic if self.record_deterministic_values: self.input_logger.log_input_event(DeterministicValue(controller.cid, name, value, time=value)) controller.sync_connection.send_deterministic_value(xid, value)
def get_deterministic_value(self, controller, name, xid): # TODO(cs): xid arguably shouldn't be known to STS value = None if name == "gettimeofday": value = SyncTime.now() else: raise ValueError("unsupported deterministic value: %s" % name) # TODO(cs): implement Andi's improved gettime heuristic if self.record_deterministic_values: self.input_logger.log_input_event( DeterministicValue(controller.cid, name, value, time=value)) controller.sync_connection.send_deterministic_value(xid, value)
def get_deterministic_value(self, controller, name): value = None if name == "gettimeofday": value = SyncTime.now() else: raise ValueError("unsupported deterministic value: %s" % name) # TODO(cs): implement Andi's improved gettime heuristic, and uncomment # the following statement #self.input_logger.log_input_event(klass="DeterministicValue", # controller_id=controller.uuid, # time=time, fingerprint="null", # name=name, value=value) return value
def get_deterministic_value(self, controller, name): value = None if name == "gettimeofday": value = SyncTime.now() else: raise ValueError("unsupported deterministic value: %s" % name) # TODO(cs): implement Andi's improved gettime heuristic, and uncomment # the following statement #self.input_logger.log_input_event(klass="DeterministicValue", # controller_id=controller.uuid, # time=time, fingerprint="null", # name=name, value=value) return value
def __init__(self, prefix="e", label=None, time=None, dependent_labels=None): if label is None: label_id = Event._label_gen.next() label = prefix + str(label_id) while label_id in Event._all_label_ids: label_id = Event._label_gen.next() label = prefix + str(label_id) if time is None: # TODO(cs): compress time for interactive mode? time = SyncTime.now() self.label = label Event._all_label_ids.add(int(label[1:])) self.time = time # Add on dependent labels to appease log_processing.superlog_parser. # TODO(cs): Replayer shouldn't depend on superlog_parser self.dependent_labels = dependent_labels if dependent_labels else []
def __init__(self, prefix="e", label=None, time=None, dependent_labels=None): if label is None: label_id = Event._label_gen.next() label = prefix + str(label_id) while label_id in Event._all_label_ids: label_id = Event._label_gen.next() label = prefix + str(label_id) if time is None: # TODO(cs): compress time for interactive mode? time = SyncTime.now() self.label = label Event._all_label_ids.add(int(label[1:])) self.time = time # Add on dependent labels to appease log_processing.superlog_parser. # TODO(cs): Replayer shouldn't depend on superlog_parser self.dependent_labels = dependent_labels if dependent_labels else []
def __init__(self, prefix="e", label=None, round=-1, time=None, dependent_labels=None, prunable=True): if label is None: label_id = Event._label_gen.next() label = prefix + str(label_id) while label_id in Event._all_label_ids: label_id = Event._label_gen.next() label = prefix + str(label_id) if time is None: # TODO(cs): compress time for interactive mode? time = SyncTime.now() self.label = label Event._all_label_ids.add(int(label[1:])) self.round = round self.time = time # Add on dependent labels to appease log_processing.superlog_parser. # TODO(cs): Replayer shouldn't depend on superlog_parser self.dependent_labels = dependent_labels if dependent_labels else [] # Whether this event should be prunable by MCSFinder. Initialization # inputs are not pruned. self.prunable = True
def __init__(self): self.last_time = SyncTime.now() self._disallow_timeouts = False self._events_after_close = [] self.output = None self.output_path = ""
def _get_nom_snapshot(self, message): snapshot = self.snapshotter.get_snapshot() response = SyncMessage(type="RESPONSE", messageClass="NOMSnapshot", time=SyncTime.now(), xid = message.xid, value=snapshot) self.send(response)
def _get_deterministic_value(self, message): value = self.state_master.get_deterministic_value(self.controller, message.name) response = SyncMessage(type="RESPONSE", messageClass="DeterministicValue", time=SyncTime.now(), xid = message.xid, value=value) self.send(response)
def get_deterministic_value(self, controller, name): if name == "gettimeofday": return SyncTime.now()
def get_deterministic_value(self, controller, name, xid): if name == "gettimeofday": return SyncTime.now()