本文整理汇总了Python中exabgp.logger.FakeLogger.wire方法的典型用法代码示例。如果您正苦于以下问题:Python FakeLogger.wire方法的具体用法?Python FakeLogger.wire怎么用?Python FakeLogger.wire使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类exabgp.logger.FakeLogger
的用法示例。
在下文中一共展示了FakeLogger.wire方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Connection
# 需要导入模块: from exabgp.logger import FakeLogger [as 别名]
# 或者: from exabgp.logger.FakeLogger import wire [as 别名]
class Connection (object):
direction = 'undefined'
identifier = 0
def __init__ (self,afi,peer,local):
# peer and local are strings of the IP
# If the OS tells us we have data on the socket, we should never have to wait more than read_timeout to be able to read it.
# However real life says that on some OS we do ... So let the user control this value
try:
self.read_timeout = environment.settings().tcp.timeout
self.defensive = environment.settings().debug.defensive
self.logger = Logger()
except RuntimeError:
self.read_timeout = 1
self.defensive = True
self.logger = FakeLogger()
self.afi = afi
self.peer = peer
self.local = local
self._reading = None
self._writing = None
self._buffer = ''
self.io = None
self.established = False
self.identifier += 1
self.id = self.identifier
# Just in case ..
def __del__ (self):
if self.io:
self.logger.network("%s connection to %s closed" % (self.name(),self.peer),'info')
self.close()
def name (self):
return "session %d %s" % (self.id,self.direction)
def close (self):
try:
self.logger.wire("%s, closing connection from %s to %s" % (self.name(),self.local,self.peer))
if self.io:
self.io.close()
self.io = None
except KeyboardInterrupt,e:
raise e
except:
示例2: Connection
# 需要导入模块: from exabgp.logger import FakeLogger [as 别名]
# 或者: from exabgp.logger.FakeLogger import wire [as 别名]
class Connection (object):
direction = 'undefined'
identifier = 0
def __init__ (self, afi, peer, local):
# peer and local are strings of the IP
try:
self.defensive = environment.settings().debug.defensive
self.logger = Logger()
except RuntimeError:
self.defensive = True
self.logger = FakeLogger()
self.afi = afi
self.peer = peer
self.local = local
self._buffer = ''
self.io = None
self.established = False
self.identifier += 1
self.id = self.identifier
# Just in case ..
def __del__ (self):
if self.io:
self.logger.network("%s connection to %s closed" % (self.name(),self.peer),'info')
self.close()
def name (self):
return "session %d %s" % (self.id,self.direction)
def close (self):
try:
self.logger.wire("%s, closing connection from %s to %s" % (self.name(),self.local,self.peer))
if self.io:
self.io.close()
self.io = None
except KeyboardInterrupt,exc:
raise exc
except:
示例3: Connection
# 需要导入模块: from exabgp.logger import FakeLogger [as 别名]
# 或者: from exabgp.logger.FakeLogger import wire [as 别名]
class Connection (object):
direction = 'undefined'
identifier = 0
def __init__ (self, afi, peer, local):
# peer and local are strings of the IP
try:
self.defensive = environment.settings().debug.defensive
self.logger = Logger()
except RuntimeError:
self.defensive = True
self.logger = FakeLogger()
self.afi = afi
self.peer = peer
self.local = local
self._buffer = ''
self.io = None
self.established = False
self.identifier += 1
self.id = self.identifier
# Just in case ..
def __del__ (self):
if self.io:
self.logger.network("%s connection to %s closed" % (self.name(),self.peer),'info')
self.close()
def name (self):
return "session %d %s" % (self.id,self.direction)
def close (self):
try:
self.logger.wire("%s, closing connection from %s to %s" % (self.name(),self.local,self.peer))
if self.io:
self.io.close()
self.io = None
except KeyboardInterrupt as exc:
raise exc
except:
pass
def reading (self):
while True:
try:
r,_,_ = select.select([self.io,],[],[],0)
except select.error as exc:
if exc.args[0] not in error.block:
self.close()
self.logger.wire("%s %s errno %s on socket" % (self.name(),self.peer,errno.errorcode[exc.args[0]]))
raise NetworkError('errno %s on socket' % errno.errorcode[exc.args[0]])
return False
return r != []
def writing (self):
while True:
try:
_,w,_ = select.select([],[self.io,],[],0)
except select.error as exc:
if exc.args[0] not in error.block:
self.close()
self.logger.wire("%s %s errno %s on socket" % (self.name(),self.peer,errno.errorcode[exc.args[0]]))
raise NetworkError('errno %s on socket' % errno.errorcode[exc.args[0]])
return False
return w != []
def _reader (self, number):
# The function must not be called if it does not return with no data with a smaller size as parameter
if not self.io:
self.close()
raise NotConnected('Trying to read on a closed TCP connection')
if number == 0:
yield ''
return
while not self.reading():
yield ''
data = ''
reported = ''
while True:
try:
while True:
if self.defensive and random.randint(0,2):
raise socket.error(errno.EAGAIN,'raising network error on purpose')
read = self.io.recv(number)
if not read:
self.close()
self.logger.wire("%s %s lost TCP session with peer" % (self.name(),self.peer))
raise LostConnection('the TCP connection was closed by the remote end')
data += read
number -= len(read)
if not number:
self.logger.wire(
LazyFormat(
"%s %-32s RECEIVED " % (
self.name(),
#.........这里部分代码省略.........