NetworkManager-ის რომელი მდგომარეობა მიიღო თქვენმა შემატყობინებელმა სინამდვილეში?
ერთი და იგივე მთელი რიცხვი ერთ ჩამოთვლაში ნიშნავს გამორთულს, მეორეში — კონფიგურაციის შუაგულს. სანამ პირობას დააკოპირებთ, შეუსაბამეთ მდგომარეობის ტიპი ობიექტს.
მეოთხე მდგომარეობა ერთ API-ზე შეტყობინებას იწვევს, მეორეზე კი სხვას ნიშნავს, და კოდი საერთოდ არ აჩვენებს განსხვავებას. NetworkManager-ის ყველა მდგომარეობის მნიშვნელობა დასახელებულ ჩამოთვლას ეკუთვნის, და ჩამოთვლები არ თანხმდებიან იმაზე, რას ნიშნავს მოცემული რიცხვი. ამიტომ მთელი რიცხვის კოპირება მუშა ფრაგმენტიდან სხვა უკუგამოძახებაში ქცევის გადატანა არ არის; ეს არის დამთხვევა, რომელიც დაშლას ელოდება. ჯერ ტიპი იპოვეთ, და რიცხვი წაკითხვადი გახდება.
ტიპის გარეშე რიცხვი მხოლოდ ჭორია
აქ ორი ჩამოთვლაა მნიშვნელოვანი. ერთი ზოგადად აღწერს აქტიურ კავშირს: უცნობი, გააქტიურებადი, აქტიური, გამორთვადი, გამორთული. მეორე კონკრეტულად VPN კავშირს აღწერს, და მას გზაზე მეტი გაჩერება აქვს, მათ შორის მომზადება, კავშირის კონფიგურაცია, IP კონფიგურაცია და ავთენტიფიკაციის მოთხოვნა, სანამ რამე გააქტიურდება. მათი ნუმერაცია ორივე შემთხვევაში ნულიდან იწყება და შემდეგ იშლება, ამიტომ ზოგად ჩამოთვლაში გამორთულის მნიშვნელობის მქონე რიცხვი VPN მიმდევრობის სადღაც შუაში ხვდება. არც ერთი სათაური არ არის მცდარი; ისინი სხვადასხვა კითხვას პასუხობენ.
გამოიყენეთ სიმბოლური მუდმივა დაყენებული სათაურიდან ან binding-იდან, ლიტერალის ნაცვლად. სახელი გადაურჩება გადანომვრას; მთელი რიცხვი — არა.
თვალყური ადევნეთ ერთ კავშირს და არა მანქანას
დაიწყეთ იმ პროფილის UUID-დან, რომელიც გაინტერესებთ, და იმ აქტიური კავშირის ობიექტიდან, რომელიც ამ გააქტიურებამ შექმნა. მოწყობილობის მდგომარეობა ან სხვა გვირაბის მდგომარეობა შემცვლელი არ არის, მაშინაც კი, როცა ორივე ერთსა და იმავე მომენტში იცვლება. შეინახეთ ობიექტის იდენტობა დაკვირვებასთან ერთად, რათა მოგვიანებით ანგარიშმა თქვას, რომელმა პროფილმა წარმოქმნა ის. მანქანას ბევრი მდგომარეობა აქვს; შეტყობინება ერთ-ერთ მათგანს ეხება.
შემდეგ გადაწყვიტეთ, რა უნდა ნიშნავდეს შეტყობინება. კავშირი, რომელმაც არასდროს მიაღწია გააქტიურებას, კონფიგურაციის წარუმატებლობაა, ხოლო სესია, რომელიც აქტიური იყო და შემდეგ გაქრა, დანაკარგია. ესენი სხვადასხვა სიტყვებს იმსახურებენ.
თქვით, რომელ გადასვლას აფიქსირებთ
შეინახეთ წინა მდგომარეობა და შეადარეთ ახალს, ნაცვლად იმისა, რომ ახალი მნიშვნელობა იზოლირებულად შეამოწმოთ. წარუმატებელ მდგომარეობაში გადასვლა და აქტიური მდგომარეობიდან გასვლა სხვადასხვა მოვლენაა, მაშინაც კი, როცა ორივე არაფრის დაკავშირებით მთავრდება. ჩაწერეთ მიზეზის სტრიქონი გვერდით, რადგან ხშირად ეს არის ერთადერთი ნაწილი, რომელზეც მომხმარებელს შეუძლია იმოქმედოს.
განზრახ გათიშვა ხარვეზი არ არის. თუ შეტყობინება ვერ ამჩნევს განსხვავებას, ის ხალხს ასწავლის მის უგულებელყოფას.
შეინარჩუნეთ დამკვირვებელი ცოცხალი
განმეორებითი გამოკითხვა არ უნდა აღძრას კიდევ ერთი გაფრთხილება მდგომარეობისთვის, რომელიც არ შეცვლილა. ეს ერთი წესი აცილებს ხმაურის უმეტეს ნაწილს, რომელსაც ეს შემატყობინებლები ქმნიან.
ასევე გაუმკლავდით შემთხვევას, როცა მენეჯერი გადაიტვირთება ან დაკვირვებული ობიექტი შეიცვლება. მოძველებულ იდენტობაზე მიბმული დამკვირვებელი ჩუმდება ზუსტად იმ მომენტში, როცა საინტერესო რამ ხდება, და სიჩუმე ჯანმრთელობას ჰგავს. ხელახლა აღმოაჩინეთ მიმდინარე ობიექტი მენეჯერის არსებობის ცვლილების შემდეგ, და ჩაწერეთ, როდის მოხდა ხელახალი აღმოჩენა. სხვა შემთხვევაში ჟურნალი აჩვენებს გვირაბს, რომელმაც უბრალოდ შეწყვიტა მოხსენება.
მიაწოდეთ შეტყობინება იქ, სადაც მომხმარებელია
პრივილეგირებული სისტემური უკუგამოძახება არ მემკვიდრეობით იღებს სამუშაო მაგიდის სესიის შეტყობინების სერვისს. root დონის დამმუშავებლიდან გაგზავნილი შეტყობინება შეიძლება გაქრეს შეცდომის გარეშე, რაც ქმნის შემატყობინებელს, რომელიც მუშაობს ხელით ტესტირებისას და არასდროს პრაქტიკაში. მიაწოდეთ იმ სესიას, რომელიც ფლობს სამუშაო მაგიდას, ან მიეცით სამუშაო მაგიდის საკუთარ კლიენტს შეტყობინების აწევის საშუალება.
უპირატესობა მიანიჭეთ კლიენტის არსებულ შეტყობინებას, თუ ის უკვე ფარავს ამ შემთხვევას, რადგან ერთი მოვლენისთვის ორი შემატყობინებელი მხარდაჭერის პრობლემაა და არა სიჭარბე. შეინახეთ მოვლენის დრო, პროფილი და მიზეზი მხარდაჭერის ჩანაწერში, ხოლო პაროლები და სრული პროფილები დატოვეთ მის გარეთ. გახსოვდეთ, რა არის შეტყობინება: დაკვირვებული მდგომარეობის ანგარიში და არა აღსრულების მექანიზმი, რადგან გვირაბის არქონისას ტრაფიკის დაბლოკვა ცალკე პოლიტიკაა საკუთარი განხორციელებით.