Esempio n. 1
0
    def __init__(self, name, **kwargs):
        base.Session.__init__(self, name)
        self.outq = transport.BlockQueue()
        self.oob_queue = {}
        self.recv_list = []
        self.outstanding = []
        self.waiting_for_ack = []

        self.enabled = True
        self._closed = False

        self.bsize = kwargs.get("blocksize", 1024)
        self.out_limit = kwargs.get("outlimit", 8)

        self.iseq = -1
        self.oseq = 0

        self.data = transport.BlockQueue()
        self.data_waiting = threading.Condition()

        self.__attempts = 0
        self.__ack_timeout = 0
        self.__full_acks = 0

        self._rtr = 0.0  # Round trip rate (bps)
        self._xmt = 0.0  # Transmit rate (bps)
        self._xms = 0.0  # Start of last transmit of self.outstanding[]

        self._rtt_measure = {
            "bnum": -1,
            "start": 0,
            "end": 0,
            "size": 0,
        }

        self.event = threading.Event()
        self.thread = threading.Thread(target=self.worker)
        self.thread.setDaemon(True)
        self.thread.start()
Esempio n. 2
0
    def __init__(self, name):
        self.name = name
        self.inq = transport.BlockQueue()
        self.handler = None
        self.state_event = threading.Event()
        self.state = ST_CLSD

        self.stats = {
            "sent_size": 0,
            "recv_size": 0,
            "sent_wire": 0,
            "recv_wire": 0,
            "retries": 0,
        }