def __init__(self, time, packet_loss, node_id, maximum_transmission_time): """ *Parameters*: - **time**: a simulation time object of the :class:`sim2net._time.Time` class; - **packet_loss**: an object representing a packet loss model to use (see :mod:`sim2net.packet_loss`); - **node_id** (`int`): an identifier of the node for which the output channel is created; - **maximum_transmission_time** (`float`): maximum message transmission time between neighboring nodes in the *simulation time* units (see: :mod:`sim2net._time`). """ self.__logger = logger.get_logger('channel.output') assert self.__logger is not None, \ 'A logger object expected but "None" value got!' self.__random_generator = get_random_generator() assert self.__random_generator is not None, \ 'A random generator object expected but "None" value got!' super(_Output, self).__init__(node_id) self.__time = time self.__packet_loss = packet_loss self.__node_id = node_id self.__packet_counter = int(-1) self.__maximum_transmission_time = maximum_transmission_time self.__next_transmission_time = float(-1.0) # [ transmission start time, transmission end time, # message identifier, (sending node identifier, message), # [ list of neighboring nodes ] ] self.__transmitted_packets = list()
def __init__(self, name): """ *Parameters*: - **name** (`str`): a name of the implemented speed distribution. """ self.__random_generator = get_random_generator() assert self.__random_generator is not None, \ 'A random generator object expected but "None" value got!' self.__logger = logger.get_logger('speed.' + str(name)) assert self.__logger is not None, \ 'A logger object expected but "None" value got!'
def __init__(self, name): """ *Parameters*: - **name** (`str`): a name of the implemented mobility model. """ self.__random_generator = get_random_generator() assert self.__random_generator is not None, \ 'A random generator object expected but "None" value got!' self.__logger = logger.get_logger('mobility.' + str(name)) assert self.__logger is not None, \ 'A logger object expected but "None" value got!'
def __init__(self, name): """ *Parameters*: - **name** (`str`): a name of the implemented process failure model. """ self.__random_generator = get_random_generator() assert self.__random_generator is not None, \ 'A random generator object expected but "None" value got!' self.__logger = logger.get_logger('failure.' + str(name)) assert self.__logger is not None, \ 'A logger object expected but "None" value got!'
def __init__(self, node_id): """ *Parameters*: - **node_id** (`int`): an identifier of the node for which the input channel is created. """ self.__logger = logger.get_logger('channel.input') assert self.__logger is not None, \ 'A logger object expected but "None" value got!' self.__random_generator = get_random_generator() assert self.__random_generator is not None, \ 'A random generator object expected but "None" value got!' self.__node_id = node_id self.__captured_packets = list()