示例#1
0
 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()
示例#2
0
 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()
示例#3
0
 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!'
示例#4
0
 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!'
示例#5
0
 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!'
示例#6
0
 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()
示例#7
0
 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()