You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
4.6 KiB
164 lines
4.6 KiB
import math
|
|
|
|
class TaskState:
|
|
ERROR = -99
|
|
ABORTED = -1
|
|
PREPARED = 0
|
|
RUNNING = 1
|
|
FINISHED = 2
|
|
|
|
class SendTask(object):
|
|
def __init__(self):
|
|
self._state = TaskState.PREPARED
|
|
self._task_name = ""
|
|
self._task_size = 0
|
|
self._task_packets = 0
|
|
self._last_valid_packets_size = 0
|
|
self._sent_packets = 0
|
|
self._missing_sent_packets = 0
|
|
self._valid_sent_packets = 0
|
|
self._valid_sent_bytes = 0
|
|
|
|
def inc_sent_packets(self):
|
|
self._sent_packets += 1
|
|
|
|
def inc_missing_sent_packets(self):
|
|
self._missing_sent_packets += 1
|
|
|
|
def inc_valid_sent_packets(self):
|
|
self._valid_sent_packets += 1
|
|
|
|
def add_valid_sent_bytes(self, this_valid_sent_bytes):
|
|
self._valid_sent_bytes += this_valid_sent_bytes
|
|
|
|
def get_valid_sent_packets(self):
|
|
return self._valid_sent_packets
|
|
|
|
def get_valid_sent_bytes(self):
|
|
return self._valid_sent_bytes
|
|
|
|
def set_task_name(self, data_name):
|
|
self._task_name = data_name
|
|
|
|
def set_task_size(self, data_size):
|
|
self._task_size = data_size
|
|
self._task_packets = math.ceil(data_size / 1024)
|
|
self._last_valid_packets_size = data_size % 1024
|
|
|
|
# class ReceiveTask(object):
|
|
# def __init__(self):
|
|
# self._state = TaskState.PREPARED
|
|
# self._task_name = ""
|
|
# self._task_size = 0
|
|
# self._task_packets = 0
|
|
# self._last_valid_packets_size = 0
|
|
# self._received_packets = 0
|
|
# self._missing_received_packets = 0
|
|
# self._valid_received_packets = 0
|
|
# self._valid_received_bytes = 0
|
|
|
|
# def inc_received_packets(self):
|
|
# self._received_packets += 1
|
|
|
|
# def inc_missing_received_packets(self):
|
|
# self._missing_received_packets += 1
|
|
|
|
# def inc_valid_received_packets(self):
|
|
# self._valid_received_packets += 1
|
|
|
|
# def add_valid_received_bytes(self, this_valid_received_bytes):
|
|
# self._valid_received_bytes += this_valid_received_bytes
|
|
|
|
# def get_task_packets(self):
|
|
# return self._task_packets
|
|
|
|
# def get_last_valid_packet_size(self):
|
|
# return self._last_valid_packets_size
|
|
|
|
# def get_valid_received_packets(self):
|
|
# return self._valid_received_packets
|
|
|
|
# def get_valid_received_bytes(self):
|
|
# return self._valid_received_bytes
|
|
|
|
# def set_task_name(self, data_name):
|
|
# self._task_name = data_name
|
|
|
|
# def set_task_size(self, data_size):
|
|
# self._task_size = data_size
|
|
# self._task_packets = math.ceil(data_size / 1024)
|
|
# self._last_valid_packets_size = data_size % 1024
|
|
|
|
# def get_task_name(self):
|
|
# return self._task_name
|
|
|
|
# def get_task_size(self):
|
|
# return self._task_size
|
|
|
|
|
|
|
|
class ReceiveTask(object):
|
|
def __init__(self):
|
|
self._state = TaskState.PREPARED
|
|
self._task_name = ""
|
|
self._task_size = 0
|
|
self._task_packets = 0
|
|
self._last_valid_packets_size = 0
|
|
self._received_packets = 0
|
|
self._missing_received_packets = 0
|
|
self._valid_received_packets = 0
|
|
self._valid_received_bytes = 0
|
|
self._current_received_bytes = 0
|
|
|
|
|
|
def inc_received_packets(self):
|
|
self._received_packets += 1
|
|
|
|
def inc_missing_received_packets(self):
|
|
self._missing_received_packets += 1
|
|
|
|
def inc_valid_received_packets(self):
|
|
self._valid_received_packets += 1
|
|
|
|
def add_valid_received_bytes(self, this_valid_received_bytes):
|
|
self._valid_received_bytes += this_valid_received_bytes
|
|
|
|
def get_task_packets(self):
|
|
return self._task_packets
|
|
|
|
def get_last_valid_packet_size(self):
|
|
return self._last_valid_packets_size
|
|
|
|
def get_valid_received_packets(self):
|
|
return self._valid_received_packets
|
|
|
|
def get_valid_received_bytes(self):
|
|
return self._valid_received_bytes
|
|
|
|
def set_task_name(self, data_name):
|
|
self._task_name = data_name
|
|
|
|
def set_task_cur_size(self, get_size):
|
|
self._current_received_bytes += get_size
|
|
|
|
def get_finial_packet(self):
|
|
if self._current_received_bytes >= self._task_size:
|
|
return 0
|
|
else:
|
|
return -1
|
|
|
|
def set_task_size(self, data_size):
|
|
self._task_size = data_size
|
|
# self._task_packets = math.ceil(data_size / 1024)
|
|
# self._last_valid_packets_size = data_size % 1024
|
|
|
|
def get_last_packet_size(self,last_packet_size):
|
|
|
|
return last_packet_size - (self._current_received_bytes - self._task_size)
|
|
|
|
|
|
def get_task_name(self):
|
|
return self._task_name
|
|
|
|
def get_task_size(self):
|
|
return self._task_size
|
|
|