Steat fjouwer smyt in notifikaasje ôf op ien API en betsjut eat oars op in oare, en de koade lit hielendal gjin ferskil sjen. Eltse steatswaarde yn NetworkManager heart by in neamde opsomming, en de opsommings binne it net iens oer wat in jûn getal betsjut. In hielgetal kopiearje fan in wurkjend stikje nei in oare callback is dêrom gjin oerdracht fan gedrach; it is in tafal dat wachtet om te brekken. Fyn earst it type, dan wurdt it getal lêsber.

In getal sûnder type is in geroft

Twa opsommings binne hjir fan belang. Ien beskriuwt in aktive ferbining yn it algemien: ûnbekend, aktivearjend, aktivearre, deaktivearjend, deaktivearre. De oare beskriuwt spesifyk in VPN-ferbining, en dy hat mear haltes op de wei, wêrûnder tarieding, opset fan de ferbining, IP-konfiguraasje en in autentikaasje-oanfraach foardat eat aktivearre wurdt. Harren nûmering begjint yn beide gefallen by nul en rint dan útinoar, sadat de wearde dy’t deaktivearre betsjut yn de algemiene opsomming earne yn de midden fan de VPN-sekwinsje telâne komt. Gjin fan beide kopteksten is ferkeard; se beantwurdzje ferskate fragen.

Brûk de symbolyske konstante út de ynstallearre koptekst of binding ynstee fan in literaal. De namme oerlibbet in wer-nûmering; it hielgetal net.

Hâld ien ferbining yn de gaten, net de masine

Begjin by de profyl-UUID dy’t jo oanbelanget en it aktive-ferbiningobjekt dat troch dy aktivearring makke is. In apparaatsteat, of de steat fan in oare tunnel, is gjin ferfanging, sels as beide op itselde stuit feroarje. Hâld de identiteit fan it objekt by de waarnimming, sadat in lettere rapport sizze kin hokker profyl it produsearre hat. De masine hat in protte steaten; de notifikaasje giet oer ien dêrfan.

Beslis dan wat de notifikaasje betsjutte moat. In ferbining dy’t nea aktivearring berikte is in opsetflater, en in sesje dy’t aktyf wie en doe ferdwûn is in ferlies. Dy fertsjinje ferskate wurden.

Sis hokker oergong jo rapportearje

Bewarje de foarige steat en fergelykje dy mei de nije, ynstee fan de nije wearde isolearre te testen. In oergong nei in mislearre steat en in oergong út in aktivearre steat binne ferskate barrens, sels as beide einigje sûnder eat ferbûn. Skriuw de reden-string derneist, want dy is faak it iennige diel dêr’t in brûker op hannelje kin.

In bewuste ôfbrekking is gjin flater. As de notifikaasje it ferskil net sjen kin, sil it minsken leare om it te negearjen.

Hâld de waarnimmer libben

Werhelle polling mei gjin nij warskôging opsmite foar in steat dy’t net feroare is. Dy iene regel hellet it measte fan it lûd fuort dat dizze notifiers meitsje.

Behannelje ek it gefal wêryn’t de behearder werstartet of it waarnommen objekt ferfongen wurdt. In waarnimmer bûn oan in ferâldere identiteit wurdt stil krekt op it stuit dat der eat nijsgjirrichs bart, en stilte liket op sûnens. Werûntdek it aktuele objekt nei in feroaring yn de oanwêzigens fan de behearder, en skriuw op wannear’t de werûntdekking barde. Oars lit it loch in tunnel sjen dy’t gewoan ophold mei rapportearjen.

Lever de notifikaasje wêr’t de brûker is

In befoarrjochte systeem-callback erft net de notifikaasjetsjinst fan in buroblêdsesje. In berjocht stjoerd fan in handler op root-nivo kin ferdwine sûnder flater, wat in notifier oplevert dy’t wurket by hânmjittich testen en nea yn de praktyk. Lever yn de sesje dy’t it buroblêd hat, of lit de eigen kliïnt fan it buroblêd de notifikaasje opheffe.

Foarkar de besteande notifikaasje fan de kliïnt as dy it gefal al dekt, want twa notifiers foar ien barren is in stipeprobleem ynstee fan oerstallichheid. Hâld de barrentiid, it profyl en de reden yn it stiperskrift, en lit wachtwurden en folsleine profilen derbûten. Tink oan wat de notifikaasje is: in rapport fan in waarnommen steat, gjin hanthaveningsmeganisme, want ferkear blokkearje wylst de tunnel ôfwêzich is, is in apart belied mei syn eigen ymplemintaasje.

Relatearre artikelen