Allow Diplonat to automatically detect it's private IP #12
Loading…
Reference in a new issue
No description provided.
Delete branch "autodetect-private-ip"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
DIPLONAT_PRIVATE_IP
environment variable is made optional. If it is present, it is used as the private IP announced to the IGD gateway. Otherwise Diplonat looks for an IP on the same subnet as the gatewayBy the way, this also bumps Tokio to v1.0 and updates a few dependencies as well
be67da3dc5
to3b9e75634a
Le code est ok - je sais pas pourquoi t'as rajouté autant de
;
- j'imagine que c'est ton linter qui aime pas cette syntaxe - balek, je suis juste curieux.Par contre, il est dommage que tu attendes
IgdActor::new
pour résoudre l'IP privée possiblement non renseignée :Le design pattern utilisé pour la conf, avec d'une part
ConfigOpts
(options de config effectivement lues) etRuntimeConfig
, c'est qu'on résoud les options de conf non renseignées dansRuntimeConfig
. L'objet résultant est certifié correct, ya pas de code de défense à faire dans les acteurs. L'autre intérêt, c'est qu'en cas de conf invalide, on crashe avant de spawn les acteurs.Donc, simplement, ton code dans
igd_actor.rs
:if let Some(ip) = priv_ip { ... } else { ... }
, il aurait plutôt sa place dansRuntimeConfigIgd::new
.Si tu veux ceriser ce gateau avec un test, ça serait cool - mais on peut merge d'abord et voir ça après.
tokio
to v1 #13En fait j'ai pas le choix de où je cherche l'ip privée, j'ai besoin de connaître l'IP de la gateway pour sélectionner la bonne ip privée à utiliser donc je peux pas le faire avant le moment où on cherche la gateway.
Pour le test j'ai pas trop compris ce qu'il y aurait à tester ^^
Pour les
;
oui c'est cargo fmt qui a rajouté ça, mais niveau lint il y a des warnings à la compilation et tout donc il y aurait encore du taf ^^'e40fcab47d
to7760b9c58f
Tu avais cassé "cargo test", en changeant les RuntimeOptions sans changer
options_test.rs
, ce qui fut réparé.Sans ça, je suis d'accord avec toi sur le fait qu'on ne peut pas faire la recherche de l'IP privée avant l'instanciation de IGD, finalement.
Moi ça me va comme ça !