Ang ika-apat na estado ay nagpapaputok ng notification sa isang API at nangangahulugan ng iba sa isa pa, at ang code ay walang ipinapakitang pagkakaiba. Ang bawat halaga ng estado sa NetworkManager ay kabilang sa isang pinangalanang enumerasyon, at hindi nagkakasundo ang mga enumerasyon kung ano ang ibig sabihin ng isang partikular na numero. Kaya ang pagkopya ng integer mula sa gumaganang snippet papunta sa ibang callback ay hindi paglilipat ng pag-uugali; ito ay isang pagkakataon na naghihintay na masira. Hanapin muna ang uri, at nagiging nababasa ang numero.

Ang numerong walang uri ay tsismis lamang

Dalawang enumerasyon ang mahalaga dito. Ang isa ay naglalarawan ng aktibong koneksyon sa pangkalahatan: hindi alam, nag-a-activate, aktibo, nagde-deactivate, naka-deactivate. Ang isa pa ay partikular na naglalarawan ng koneksyon ng VPN, at may mas maraming hinto sa daan, kabilang ang paghahanda, pag-set up ng koneksyon, configuration ng IP at isang kahilingan sa pagpapatunay bago ma-activate ang anuman. Ang kanilang pagnunumero ay nagsisimula sa zero sa parehong kaso at pagkatapos ay naghihiwalay, kaya ang halagang nangangahulugang naka-deactivate sa pangkalahatang enumerasyon ay napupunta sa gitna ng sekwensya ng VPN. Wala sa mga header ang mali; sumasagot sila sa magkaibang tanong.

Gamitin ang simbolikong constant mula sa naka-install na header o binding sa halip na literal. Nabubuhay ang pangalan sa muling pagnunumero; ang integer ay hindi.

Bantayan ang isang koneksyon, hindi ang makina

Magsimula sa UUID ng profile na mahalaga sa iyo at sa object ng aktibong koneksyon na nilikha ng activation na iyon. Ang estado ng isang device, o ang estado ng ibang tunnel, ay hindi kapalit, kahit sabay silang nagbabago sa parehong sandali. Panatilihin ang pagkakakilanlan ng object kasama ng obserbasyon, upang masabi ng susunod na ulat kung aling profile ang gumawa nito. Maraming estado ang makina; ang notification ay tungkol sa isa sa kanila.

Pagkatapos ay magpasya kung ano ang dapat ipakahulugan ng notification. Ang koneksyong hindi kailanman umabot sa activation ay kabiguan sa setup, at ang sesyong aktibo at pagkatapos ay nawala ay kawalan. Karapat-dapat sila sa magkaibang salita.

Sabihin kung aling transisyon ang iniuulat mo

Itabi ang nakaraang estado at ihambing ito sa bago, sa halip na subukan ang bagong halaga nang hiwalay. Ang transisyon papunta sa nabigong estado at ang transisyon palabas ng aktibong estado ay magkaibang pangyayari kahit pareho silang nagtatapos na walang nakakonekta. Itala ang string ng dahilan sa tabi, dahil kadalasan ito lang ang bahaging maaaring aksyunan ng user.

Ang sinadyang pagdiskonekta ay hindi depekto. Kung hindi ito matukoy ng notification, tuturuan nito ang mga tao na huwag pansinin ito.

Panatilihing buhay ang tagamasid

Ang paulit-ulit na pagtatanong ay hindi dapat magtaas ng isa pang alerto para sa estadong hindi nagbago. Ang nag-iisang tuntuning iyon ay nag-aalis ng karamihan sa ingay na nililikha ng mga notifier na ito.

Pangasiwaan din ang kaso kapag nag-restart ang manager o napalitan ang object na inoobserbahan. Ang tagamasid na nakatali sa lumang pagkakakilanlan ay tumatahimik sa eksaktong sandali na may kawili-wiling nangyayari, at ang katahimikan ay mukhang kalusugan. Muling hanapin ang kasalukuyang object pagkatapos ng pagbabago sa presensya ng manager, at itala kung kailan nangyari ang muling pagtuklas. Kung hindi, ang log ay nagpapakita ng tunnel na tumigil na lang sa pag-uulat.

Ihatid ang notification kung nasaan ang user

Ang privileged system callback ay hindi nagmamana ng notification service ng isang desktop session. Ang mensaheng ipinadala mula sa handler sa antas ng root ay maaaring mawala nang walang error, na gumagawa ng notifier na gumagana kapag manu-manong sinusubok at hindi kailanman sa praktika. Ihatid sa session na nagmamay-ari ng desktop, o hayaang ang sariling client ng desktop ang magtaas ng notification.

Piliin ang umiiral nang notification ng client kung sakop na nito ang kaso, dahil ang dalawang notifier para sa isang pangyayari ay problema sa suporta at hindi kalabisan. Itabi ang oras ng pangyayari, profile at dahilan sa talaan ng suporta, at ilagay sa labas nito ang mga password at buong profile. Tandaan kung ano ang notification: ulat ng isang naobserbahang estado, hindi mekanismo ng pagpapatupad, dahil ang pagharang sa trapiko habang wala ang tunnel ay hiwalay na patakaran na may sariling implementasyon.

Kaugnay na mga artikulo