示例#1
0
class ReceiveTimer (object):
	def __init__ (self, session, holdtime, code, subcode, message=''):
		self.logger = Logger()
		self.session = session

		self.holdtime = holdtime
		self.last_read = time.time()
		self.last_print = 0

		self.code = code
		self.subcode = subcode
		self.message = message

	def check_ka (self, message=_NOP,ignore=_NOP.TYPE):
		if message.TYPE != ignore:
			self.last_read = time.time()
		if self.holdtime:
			left = int(self.last_read  + self.holdtime - time.time())
			if self.last_print != left:
				self.logger.timers('Receive Timer %d second(s) left' % left,source=self.session())
				self.last_print = left
			if left <= 0:
				raise Notify(self.code,self.subcode,self.message)
		elif message.TYPE == KeepAlive.TYPE:
			raise Notify(2,6,'Negotiated holdtime was zero, it was invalid to send us a keepalive messages')
示例#2
0
class SendTimer(object):
    def __init__(self, me, holdtime):
        self.logger = Logger()
        self.me = me

        self.keepalive = holdtime.keepalive()
        self.last_sent = int(time.time())

    def need_ka(self):
        if not self.keepalive:
            return False

        now = int(time.time())
        left = self.last_sent + self.keepalive - now

        if now != self.last_sent:
            self.logger.timers(self.me('Send Timer %d second(s) left' % left))

        if left <= 0:
            self.last_sent = now
            return True
        return False
示例#3
0
文件: timer.py 项目: Krychuu/exabgp
class SendTimer (object):
	def __init__ (self,me,holdtime):
		self.logger = Logger()
		self.me = me

		self.keepalive = holdtime.keepalive()
		self.last_sent = int(time.time())

	def need_ka (self):
		if not self.keepalive:
			return False

		now  = int(time.time())
		left = self.last_sent + self.keepalive - now

		if now != self.last_sent:
			self.logger.timers(self.me('Send Timer %d second(s) left' % left))

		if left <= 0:
			self.last_sent = now
			return True
		return False
示例#4
0
文件: timer.py 项目: qz267/exabgp
class ReceiveTimer(object):
    def __init__(self, me, holdtime, code, subcode, message=""):
        self.logger = Logger()
        self.me = me

        self.holdtime = holdtime
        self.last_read = time.time()

        self.code = code
        self.subcode = subcode
        self.message = message

    def check_ka(self, message=_NOP, ignore=_NOP.TYPE):
        if message.TYPE != ignore:
            self.last_read = time.time()
        if self.holdtime:
            left = int(self.last_read + self.holdtime - time.time())
            self.logger.timers(self.me("Receive Timer %d second(s) left" % left))
            if left <= 0:
                raise Notify(self.code, self.subcode, self.message)
        elif message.TYPE == KeepAlive.TYPE:
            raise Notify(2, 6, "Negotiated holdtime was zero, it was invalid to send us a keepalive messages")
示例#5
0
class Timer(object):
    def __init__(self, me, holdtime, code, subcode, message=''):
        self.logger = Logger()

        self.me = me

        self.code = code
        self.subcode = subcode
        self.message = message

        self.holdtime = holdtime
        self.last_read = time.time()
        self.last_sent = time.time()

    def tick(self, message=_NOP, ignore=_NOP.TYPE):
        if message.TYPE != ignore:
            self.last_read = time.time()
        if self.holdtime:
            left = int(self.last_read + self.holdtime - time.time())
            self.logger.timers(
                self.me('Receive Timer %d second(s) left' % left))
            if left <= 0:
                raise Notify(self.code, self.subcode, self.message)
        elif message.TYPE == KeepAlive.TYPE:
            raise Notify(2, 6,
                         'Holdtime is zero and we got a keepalive message')

    def keepalive(self):
        if not self.holdtime:
            return False

        left = int(self.last_sent + self.holdtime.keepalive() - time.time())
        self.logger.timers(self.me('Sending Timer %d second(s) left' % left))

        if left <= 0:
            self.last_sent = time.time()
            return True
        return False
示例#6
0
class SendTimer (object):
	def __init__ (self, session, holdtime):
		self.logger = Logger()
		self.session = session

		self.keepalive = holdtime.keepalive()
		self.last_sent = int(time.time())
		self.last_print = 0

	def need_ka (self):
		if not self.keepalive:
			return False

		now  = int(time.time())
		left = self.last_sent + self.keepalive - now

		if now != self.last_print:
			self.logger.timers('Send Timer %d second(s) left' % left,source=self.session())
			self.last_print = now

		if left <= 0:
			self.last_sent = now
			return True
		return False
示例#7
0
class Timer (object):
	def __init__ (self,me,holdtime,code,subcode,message=''):
		self.logger = Logger()

		self.me = me

		self.code = code
		self.subcode = subcode
		self.message = message

		self.holdtime = holdtime
		self.last_read = time.time()
		self.last_sent = time.time()

	def tick (self,message=_NOP,ignore=_NOP.TYPE):
		if message.TYPE != ignore:
			self.last_read = time.time()
		if self.holdtime:
			left = int(self.last_read  + self.holdtime - time.time())
			self.logger.timers(self.me('Receive Timer %d second(s) left' % left))
			if left <= 0:
				raise Notify(self.code,self.subcode,self.message)
		elif message.TYPE == KeepAlive.TYPE:
			raise Notify(2,6,'Holdtime is zero and we got a keepalive message')

	def keepalive (self):
		if not self.holdtime:
			return False

		left = int(self.last_sent + self.holdtime.keepalive() - time.time())
		self.logger.timers(self.me('Sending Timer %d second(s) left' % left))

		if left <= 0:
			self.last_sent = time.time()
			return True
		return False