اطلاع کینکٹ ہونے کے بیس منٹ بعد نمودار ہوئی۔ اس کے نیچے کا کاؤنٹر پچھلی صبح سے، یا اکاؤنٹ کی آخری تصدیق سے چل رہا تھا، اور انتباہ میں کچھ نہیں کہا گیا کہ کون سا۔ یہی علامت ہے: آپ کے سامنے والے کنکشن کے بجائے کسی اور چیز سے بندھی یاد دہانی۔

حل بہتر انتباہ نہیں ہے۔ حل یہ طے کرنا ہے کہ ضرورت کس گھڑی کی مراد لے رہی ہے، اور پھر ٹائمر کو اس گھڑی میں موجود کسی چیز سے باندھنا۔

کیا چلا، اور وہ کیا گن رہا تھا

تین ممکنہ ذرائع ایک ہی پیغام دیتے ہیں۔ کیلنڈر کا اصول مقررہ مقامی وقت پر چلتا ہے اور سرنگوں کے بارے میں کچھ نہیں جانتا۔ کلائنٹ کا کاؤنٹر جب تک کوئی بھی کنکشن چل رہا ہو جمع ہوتا رہتا ہے اور دوبارہ جڑنے پر بھی قائم رہتا ہے۔ گیٹ وے کی پالیسی سیشن کو سرور کی طرف ختم کرتی ہے اور پہلے انتباہ بھیجتی ہے۔

صرف آخری دو سیشن کے بارے میں ہیں، اور وہ بھی متفق نہیں۔ کلائنٹ کاؤنٹر وہ ناپتا ہے جو مقامی عمل نے دیکھا؛ گیٹ وے وہ ناپتا ہے جس کی اس نے تصدیق اور حساب کیا۔ نیند، نیٹ ورک کی تبدیلی یا مبصر کی دوبارہ شروعات دونوں کو گھنٹوں کے فاصلے پر جدا کر سکتی ہے، اسی لیے انتباہ اور لازمی اختتام الگ الگ ہو جاتے ہیں۔

ایک ضرورت کے پیچھے تین گھڑیاں

وہ جملہ لکھ کر شروع کریں جو آپ واقعی چاہتے ہیں۔ گیٹ وے کے اس کنکشن کو ختم کرنے سے پہلے انتباہ دینا ایک دن کے جڑے وقت کے بعد یاد دلانے جیسی وہی ضرورت نہیں ہے۔ یہ یہ بتانے کے برابر بھی نہیں کہ یہ سیشن 23 گھنٹے سے چل رہا ہے۔ ہر نسخہ الگ واقعے کا نام لیتا ہے، اور الگ جزو کو اس کا جواب دینا ہوتا ہے۔

پھر دیکھیں کہ ڈیٹا موجود ہے یا نہیں۔ مقامی آغاز کا ٹائم اسٹیمپ سرور پر انحصار کے بغیر سیشن کی عمر دیتا ہے۔ گیٹ وے کی پالیسی باقی زندگی دیتی ہے، مگر صرف اس صورت میں جب گیٹ وے اسے ظاہر کرے۔ استعمال کی رپورٹ واقعے کے بعد مدت دیتی ہے، اور وہ پیشگی اطلاع کو نہیں چلا سکتی۔

ٹائمر کو سیشن سے باندھیں، اکاؤنٹ سے نہیں

پہلے چیز منتخب کریں۔ ایک اکاؤنٹ میں کئی آلات اور کئی بیک وقت سیشن ہو سکتے ہیں، اس لیے صارف نام پر بندھی یاد دہانی یہ نہیں بتا سکتی کہ کون سا کنکشن عمر کو پہنچا۔ اسے پروفائل اور اس فعال سازی سے باندھیں، اور فعال سازی ختم ہونے پر زیر التوا اطلاع منسوخ کریں۔

Evidence you can readWhat it establishesWhere it misleads
Connection state changes to activeA session started nowDoes not carry the gateway's own session identifier
Duration reported at disconnectTotal service time for that sessionArrives too late for any advance notice
Interim usage updateTime accounted up to that updateStaleness equals the update interval
Local timestamp taken at activationAge of your observationResets whenever the observer restarts

وہ جدول آپ کے اپنے اطلاع دہندہ کے لیے معاہدہ ہے، کسی بھی کلائنٹ کے کال بیک API کی تفصیل نہیں۔ نصب شدہ مصنوعہ کنکشن کی حالت کے بارے میں جو دستاویز کرتا ہے وہی وہ ذریعہ ہے جس سے بندھنا ہے؛ جہاں یہ صرف تصدیق کے واقعات ظاہر کرتا ہے، وہاں صاف کہیں اور سیشن کا اندازہ لگانے کے بجائے موٹا رویہ قبول کریں۔

مختصر حد سے اسے جانچیں

ایک دن کے ٹائمر کو ایک دن کے انتظار سے کبھی ڈیبگ نہ کریں۔ قابلِ ترتیب حد شامل کریں، اسے تیس سیکنڈ پر رکھیں، اور ترتیب سے چار منتقلیاں چلائیں: جڑیں، انتظار کریں، کاٹیں، دوبارہ جڑیں۔ ہر منتقلی کو ٹھیک ایک حالت کی تبدیلی دینی چاہیے، اور دوبارہ جڑنے کو پرانی مدت ورثے میں لینے کے بجائے نئی مقرر کرنی چاہیے۔

# current connection state and profile identity
nmcli -f GENERAL.STATE,GENERAL.CONNECTION connection show work

# the notifier unit you wrote: does it restart the deadline or resume it?
journalctl --user -u vpn-timer.service --since "-5 min" -o cat

الفاظ کو نہیں، ٹائم اسٹیمپ کو دیکھیں۔ پچھلے سیشن کے آغاز کے وقت کے ساتھ آنے والی اطلاع نے غلط چیز باندھی ہے، اور ایک مدت کے لیے دو بار آنے والی اطلاع کا مطلب ہے کہ بھیجا گیا جھنڈا کبھی محفوظ نہیں ہوا۔

نیند، دوبارہ جڑنا اور ضائع شدہ ترسیل

نیند دونوں سادہ ڈیزائن توڑ دیتی ہے۔ یکساں الٹی گنتی مشین کے سونے پر رک جاتی ہے، دیوار کی گھڑی کی مدت آگے بڑھتی رہتی ہے، اور نیند کے دوران بجنے والا ٹائمر دیر سے یا بالکل نہیں پہنچتا۔ طے کریں کہ آپ کی ضرورت کو کون سا رویہ چاہیے، پھر حد پار کر کے مشین کو سلائیں اور تصدیق کریں۔

پہنچانا بھی اسی توجہ کا حقدار ہے۔ اگر اطلاع دکھائی نہ جا سکے تو اسے قطار میں رکھیں، اور آخر میں دکھانے سے پہلے دوبارہ جانچیں کہ ہدف سیشن اب بھی موجود ہے؛ ورنہ صارف کو ایسے کنکشن کے بارے میں انتباہ دیا جاتا ہے جو پہلے ہی ختم ہو چکا ہے۔ زبردستی منقطع کرنا اور اسناد کی تجدید اس راستے سے باہر رہتے ہیں، کیونکہ کنکشن کی تقدیر خاموشی سے بدلنے والی یاد دہانی اطلاع کے لباس میں پالیسی کا فیصلہ ہے۔

متعلقہ مضامین