daasiot_python
sender.py
Go to the documentation of this file.
1import pydaasiot
2
3
4
5class MyHandler(pydaasiot.IDaasApiEvent):
6 def dinAcceptedEvent(self, din):
7 print(f"[EVENT] DIN accepted: {din}")
8
9 def ddoReceivedEvent(self, payload_size, typeset, din):
10 print(f"[EVENT] DDO received (sender side)")
11
12 def frisbeeReceivedEvent(self, din):
13 print(f"[EVENT] FRISBEE")
14
15 def nodeStateReceivedEvent(self, din):
16 print(f"[EVENT] Node state received")
17
18 def atsSyncCompleted(self, din):
19 print(f"[EVENT] ATS sync completed")
20
21 def frisbeeDperfCompleted(self, din, packets_sent, block_size):
22 print(f"[EVENT] Frisbee dperf completed")
23
24handler = MyHandler()
25
26# Inizializza il wrapper con config e handler
27node = pydaasiot.DaasWrapper("config.json", handler)
28
29# SID e DIN del nodo sender
30node.doInit(100, 102)
31
32# Abilita il driver di rete sulla porta 2223 (per il sender)
33node.enableDriver(pydaasiot.link_t._LINK_INET4, "127.0.0.1:2223")
34
35# Mappa il receiver (DIN 101) sulla porta 2222
36node.map(101, pydaasiot.link_t._LINK_INET4, "127.0.0.1:2222")
37
38# Avvia il thread interno
39node.doPerform(pydaasiot.performs_mode_t.PERFORM_CORE_THREAD)
40
41# Creiamo un DDO da inviare
42ddo = pydaasiot.DDO()
43ddo.setOrigin(102)
44ddo.setTypeset(1) # puoi cambiare il typeset a seconda del test
45ddo.allocatePayload(32)
46ddo.appendPayloadData(b"Hello from sender!")
47
48# Esegui push verso il nodo 101
49err = node.push(101, ddo)
50print(f"Push result: {err}")
51
52input("Press Enter to exit...\n")
ddoReceivedEvent(self, payload_size, typeset, din)
Definition sender.py:9
nodeStateReceivedEvent(self, din)
Definition sender.py:15
atsSyncCompleted(self, din)
Definition sender.py:18
frisbeeDperfCompleted(self, din, packets_sent, block_size)
Definition sender.py:21
frisbeeReceivedEvent(self, din)
Definition sender.py:12
dinAcceptedEvent(self, din)
Definition sender.py:6