Exemplo n.º 1
0
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')
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
 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
                         )
Exemplo n.º 4
0
 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,
                         )