MeshSessionStore.session refreshed dns_host from the config on every call, and deciding whether TARGET_IP is a name or an address costs a thrown and caught ValueError for every bridge configured by name. The OBP ingress reads self._session three to four times per datagram, so a mesh of eight named bridges paid that exception several times per frame, per bridge. Nothing needed it there: the config is read-only at runtime, and sync already follows a reload. It refreshed configured_peer but not dns_host, which is the only reason the per-lookup refresh existed, so sync now owns both and session derives dns_host only for a session it creates. Measured on the v5 ingress path with a bridge configured by name: 66.2us to 47.9us per frame.pull/92/head
parent
e76d49716d
commit
fea9507fe8
Loading…
Reference in new issue