class BlackHole(Application): def __init__(self, node, label ='', port=40): Application.__init__(self, node, label) self.received = 0 #self.node.register(self, ip_family='inet', proto='UDP', port=port) self.s = VirtSocket(app =self, receive_func = self.receive, family = IPV6, proto = inet.UDP, dst_ip = None, dst_port = None, src_port = port ) def run(self): while True: if self.s.open(): break else: self.add_to_history("unable to open socket") yield self.hold, self, 1 def info(self): return '%s rcvd : %3d ps' % (self.label, self.received) def receive(self, p): self.received += 1 self.add_to_history("received a p", str(p.number) + p.description) p.add_to_trip(self, 'retired')
class WhiteFountain(Application): def __init__(self, node, dst_ip, iface = None, label = '', dst_port=40, interval = 0.5, data_size =10): Application.__init__(self, node, label) self.i=0 # sent ps counter self.interval = interval self.data_size = data_size if self.isIPv4(dst_ip): family = IPV4 else: family = IPV6 self.s = VirtSocket(app =self, receive_func = self.receive, family = family, proto = inet.UDP, dst_ip = dst_ip, dst_port = dst_port, src_port = None, iface=iface, ) def run(self): while True: if self.s.open(): break else: self.add_to_history("unable to open socket") yield self.hold, self, self.interval while True: self.send() yield self.hold, self, self.interval def send(self): # self.add_to_history("sending p", str(p.number) + p.description ) self.s.send(str('a' * self.data_size)) self.i+=1 def receive(self, p): self.add_to_history("received a p", str(p.number) + p.description) p.add_to_trip(self, 'retired') def info(self): return '%s sent : %3d ps' % (self.label, self.i)
def __init__(self, node, label ='', port=40): Application.__init__(self, node, label) self.received = 0 #self.node.register(self, ip_family='inet', proto='UDP', port=port) self.s = VirtSocket(app =self, receive_func = self.receive, family = IPV6, proto = inet.UDP, dst_ip = None, dst_port = None, src_port = port )
def __init__(self, node, dst_ip, iface = None, label = '', dst_port=40, interval = 0.5, data_size =10): Application.__init__(self, node, label) self.i=0 # sent ps counter self.interval = interval self.data_size = data_size if self.isIPv4(dst_ip): family = IPV4 else: family = IPV6 self.s = VirtSocket(app =self, receive_func = self.receive, family = family, proto = inet.UDP, dst_ip = dst_ip, dst_port = dst_port, src_port = None, iface=iface, )