def tos_reflect(self, bufsize=512):
"""Intended to be the sole operation on a LLAMA reflector.
Args:
bufsize: (int) number of bytes to read from socket
It's not advisable to change this.
"""
data, addr = self.recvfrom(bufsize)
try:
udpdata = UdpData._make(struct.unpack(self.FORMAT, data))
except struct.error:
logging.warn('Received malformed datagram of %s bytes. '
'Discarding.', len(data))
# Don't reflect invalid data
return
self.setsockopt(socket.IPPROTO_IP, socket.IP_TOS, udpdata.tos)
self.sendto(data, addr)
self.processed += 1
if self.processed % 512 == 0:
logging.info('Processed packets: %s', self.processed)
评论列表
文章目录