This commit is contained in:
Mark Qvist 2022-06-10 17:05:00 +02:00
parent ea7762cbc0
commit 1ac7238347
3 changed files with 18 additions and 15 deletions

View File

@ -113,32 +113,32 @@ Reticulum should currently be considered beta software. All core protocol featur
## Development Roadmap ## Development Roadmap
- Version 0.3.8 - Version 0.3.8
- Improving [the manual](https://markqvist.github.io/Reticulum/manual/) with sections specifically for beginners - A portable cryptography core, supporting multiple backends
- Utilities for managing identities, signing and encryption - Utilities for managing identities, signing and encryption
- Support for radio and modem interfaces on Android
- User friendly interface configuration tool
- Easy way to share interface configurations, see [#19](https://github.com/markqvist/Reticulum/discussions/19)
- More interface types for even broader compatibility - More interface types for even broader compatibility
- Plain ESP32 devices (ESP-Now, WiFi, Bluetooth, etc.) - Plain ESP32 devices (ESP-Now, WiFi, Bluetooth, etc.)
- More LoRa transceivers - More LoRa transceivers
- AT-compatible modems
- IR Transceivers - IR Transceivers
- AWDL / OWL
- HF Modems
- CAN-bus
- ZeroMQ
- MQTT
- IrDA / IrPHY
- SPI
- i²c
- Version 0.3.9 - Version 0.3.9
- A portable cryptography core, supporting multiple backends - Improving [the manual](https://markqvist.github.io/Reticulum/manual/) with sections specifically for beginners
- Support for radio and modem interfaces on Android
- User friendly interface configuration tool
- Performance optimisations - Performance optimisations
- Memory optimisations - Memory optimisations
- Planned, but not yet scheduled - Planned, but not yet scheduled
- Globally routable multicast - Globally routable multicast
- Bindings for other programming languages - Bindings for other programming languages
- A portable Reticulum implementation in C, see [#21](https://github.com/markqvist/Reticulum/discussions/21) - A portable Reticulum implementation in C, see [#21](https://github.com/markqvist/Reticulum/discussions/21)
- Easy way to share interface configurations, see [#19](https://github.com/markqvist/Reticulum/discussions/19)
- More interface types
- AT-compatible modems
- AWDL / OWL
- HF Modems
- CAN-bus
- ZeroMQ
- MQTT
- SPI
- i²c

View File

@ -296,6 +296,7 @@ class AutoInterface(Interface):
announce_socket.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_MULTICAST_IF, ifis) announce_socket.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_MULTICAST_IF, ifis)
announce_socket.sendto(discovery_token, addr_info[0][4]) announce_socket.sendto(discovery_token, addr_info[0][4])
announce_socket.close() announce_socket.close()
except Exception as e: except Exception as e:
if (ifname in self.timed_out_interfaces and self.timed_out_interfaces[ifname] == False) or not ifname in self.timed_out_interfaces: if (ifname in self.timed_out_interfaces and self.timed_out_interfaces[ifname] == False) or not ifname in self.timed_out_interfaces:
RNS.log(str(self)+" Detected possible carrier loss on "+str(ifname)+": "+str(e), RNS.LOG_WARNING) RNS.log(str(self)+" Detected possible carrier loss on "+str(ifname)+": "+str(e), RNS.LOG_WARNING)
@ -337,6 +338,7 @@ class AutoInterface(Interface):
peer_addr = str(peer)+"%"+str(self.peers[peer][0]) peer_addr = str(peer)+"%"+str(self.peers[peer][0])
addr_info = socket.getaddrinfo(peer_addr, self.data_port, socket.AF_INET6, socket.SOCK_DGRAM) addr_info = socket.getaddrinfo(peer_addr, self.data_port, socket.AF_INET6, socket.SOCK_DGRAM)
self.outbound_udp_socket.sendto(data, addr_info[0][4]) self.outbound_udp_socket.sendto(data, addr_info[0][4])
except Exception as e: except Exception as e:
RNS.log("Could not transmit on "+str(self)+". The contained exception was: "+str(e), RNS.LOG_ERROR) RNS.log("Could not transmit on "+str(self)+". The contained exception was: "+str(e), RNS.LOG_ERROR)

View File

@ -525,7 +525,7 @@ class I2PInterfacePeer(Interface):
def processOutgoing(self, data): def processOutgoing(self, data):
if self.online: if self.online:
while self.writing: while self.writing:
time.sleep(0.01) time.sleep(0.001)
try: try:
self.writing = True self.writing = True
@ -538,6 +538,7 @@ class I2PInterfacePeer(Interface):
self.socket.sendall(data) self.socket.sendall(data)
self.writing = False self.writing = False
self.txb += len(data) self.txb += len(data)
if hasattr(self, "parent_interface") and self.parent_interface != None and self.parent_count: if hasattr(self, "parent_interface") and self.parent_interface != None and self.parent_count:
self.parent_interface.txb += len(data) self.parent_interface.txb += len(data)