Ejemplo n.º 1
0
 def __init__(self, start_time, src_ip, dst_ip, flow_size, src_port=-1, dst_port=-1, duration=0.0):
     #set src_port and dst_port to -1 if not available
     self.start_time = TimeUtils.time_convert(start_time)
     self.end_time = self.start_time + TimeUtils.time_delta_convert(duration)
     self.src_ip = src_ip
     self.src_port = src_port
     self.dst_ip = dst_ip
     self.dst_port = dst_port
     self.size = flow_size
Ejemplo n.º 2
0
 def add_packet(self, packet, duration=0.0):
     """
     add a new packet to flow
     :param packet: an object of Packet
     :param duration: new packet's duration
     :return: None
     """
     assert isinstance(packet, Packet), 'Wrong argument when adding a packet to flow'
     assert packet.src_port == self.src_port, 'src_port number should be the same'
     self.start_time = self.start_time if self.start_time < packet.packet_time else packet.packet_time
     self.end_time = TimeUtils.time_convert(packet.packet_time) + TimeUtils.time_delta_convert(duration)
     self.size += packet.packet_size
     self.packet_num += 1
Ejemplo n.º 3
0
 def add_packet(self, packet, duration=0.0):
     """
     add a new packet to flow
     :param packet: an object of Packet
     :param duration: new packet's duration
     :return: None
     """
     assert isinstance(
         packet, Packet), 'Wrong argument when adding a packet to flow'
     assert packet.src_port == self.src_port, 'src_port number should be the same'
     self.start_time = self.start_time if self.start_time < packet.packet_time else packet.packet_time
     self.end_time = TimeUtils.time_convert(
         packet.packet_time) + TimeUtils.time_delta_convert(duration)
     self.size += packet.packet_size
     self.packet_num += 1
Ejemplo n.º 4
0
 def __init__(self,
              start_time,
              src_ip,
              dst_ip,
              flow_size,
              src_port=-1,
              dst_port=-1,
              duration=0.0):
     #set src_port and dst_port to -1 if not available
     self.start_time = TimeUtils.time_convert(start_time)
     self.end_time = self.start_time + TimeUtils.time_delta_convert(
         duration)
     self.src_ip = src_ip
     self.src_port = src_port
     self.dst_ip = dst_ip
     self.dst_port = dst_port
     self.size = flow_size
Ejemplo n.º 5
0
 def __init__(self):
     self.coflows = {}
     self.threshold1 = TimeUtils.time_delta_convert(1)
Ejemplo n.º 6
0
from packet import Packet
from flow import LogicalFlow
from flow import RealisticFlow
from utils.time import TimeUtils

START_TIME_THRESHOLD = TimeUtils.time_delta_convert(1.0)
END_TIME_THRESHOLD = TimeUtils.time_delta_convert(10.0)


class Coflow(object):
    """
    a coflow abstraction
    """
    def __init__(self, logical_flow):
        assert isinstance(
            logical_flow, LogicalFlow
        ), 'Wrong argument when initializing a coflow with a logical_flow'
        self.start_time = logical_flow.start_time
        self.end_time = self.start_time
        self.coflow_id = logical_flow.stage_id
        self.logical_flows = {
            logical_flow.generate_logical_flow_id(): logical_flow
        }
        self.realistic_flows = {}

    def __str__(self):
        return "Coflow " + str(self.coflow_id) + ":\n" + TimeUtils.time_to_string(self.start_time) + " " + \
               str((self.end_time - self.start_time).total_seconds()) + '\n' + "Logical Flows:\n" + \
               "\n".join(map(str, self.logical_flows.values())) + "\n" + "Real Flows:\n" + \
               "\n".join(map(str, self.realistic_flows.values()))
Ejemplo n.º 7
0
 def __init__(self):
     self.coflows = {}
     self.threshold1 = TimeUtils.time_delta_convert(1)
Ejemplo n.º 8
0
from packet import Packet
from flow import LogicalFlow
from flow import RealisticFlow
from utils.time import TimeUtils


START_TIME_THRESHOLD = TimeUtils.time_delta_convert(1.0)
END_TIME_THRESHOLD = TimeUtils.time_delta_convert(10.0)


class Coflow(object):
    """
    a coflow abstraction
    """

    def __init__(self, logical_flow):
        assert isinstance(logical_flow, LogicalFlow), 'Wrong argument when initializing a coflow with a logical_flow'
        self.start_time = logical_flow.start_time
        self.end_time = self.start_time
        self.coflow_id = logical_flow.stage_id
        self.logical_flows = {logical_flow.generate_logical_flow_id(): logical_flow}
        self.realistic_flows = {}

    def __str__(self):
        return "Coflow " + str(self.coflow_id) + ":\n" + TimeUtils.time_to_string(self.start_time) + " " + \
               str((self.end_time - self.start_time).total_seconds()) + '\n' + "Logical Flows:\n" + \
               "\n".join(map(str, self.logical_flows.values())) + "\n" + "Real Flows:\n" + \
               "\n".join(map(str, self.realistic_flows.values()))

    @property
    def duration(self):