Ymddangosodd yr hysbysiad ugain munud ar ôl cysylltu. Roedd y rhifydd oddi tano wedi bod yn rhedeg ers bore'r diwrnod blaenorol, neu ers i'r cyfrif ddilysu ddiwethaf, ac nid oedd dim yn y rhybudd yn dweud pa un. Dyma'r symptom: nodyn wedi'i glymu wrth rywbeth arall, nid wrth y cysylltiad sydd o'ch blaen.

Nid rhybudd gwell yw'r atgyweiriad. Penderfynu pa gloc y mae'r gofyniad yn ei olygu, ac yna glymu'r amserydd wrth wrthrych sy'n bodoli yn y cloc hwnnw.

Beth a daniodd, a beth oedd yn ei gyfrif

Mae tri ffynhonnell debygol yn cynhyrchu'r un neges. Mae rheol calendr yn rhedeg ar amser lleol sefydlog ac ni ŵyr ddim am dwneli. Mae rhifydd yn y cleient yn cronni tra bo unrhyw gysylltiad i fyny ac yn goroesi ailgysylltiadau. Mae polisi porth yn dod â'r sesiwn i ben ar ochr y gweinydd ac yn gwthio rhybudd yn gyntaf.

Dim ond y ddau olaf sy'n ymwneud â sesiwn, ac nid ydynt hwy hyd yn oed yn cytuno. Mae rhifydd y cleient yn mesur yr hyn a arsylwodd y broses leol; mae'r porth yn mesur yr hyn a ddilysodd ac a gyfrifodd. Gall cwsg, newid rhwydwaith neu ailgychwyn yr arsylwr eu gwahanu o oriau, a dyna pam mae'r rhybudd a'r dod i ben gorfodol yn gwahanu.

Tri chloc y tu ôl i un gofyniad

Dechreuwch drwy ysgrifennu'r frawddeg rydych chi ei heisiau mewn gwirionedd. Nid yw rhybuddio cyn i'r porth ddod â'r cysylltiad hwn i ben yr un gofyniad â nodyn ar ôl diwrnod o amser cysylltiedig. Nid yw chwaith yr un peth â nodi bod y sesiwn hon wedi bod i fyny ers 23 awr. Mae pob fersiwn yn enwi digwyddiad gwahanol, a rhaid i gydran wahanol ateb hynny.

Yna gwiriwch a yw'r data yn bodoli. Mae stamp amser cychwyn lleol yn rhoi oedran y sesiwn heb ddibyniaeth ar y gweinydd. Mae polisi porth yn rhoi'r oes sy'n weddill, ond dim ond os yw'r porth yn ei ddatgelu. Mae adroddiad defnydd yn rhoi'r hyd ar ôl y ffaith, ac ni all hynny yrru hysbysiad ymlaen llaw.

Pinwch yr amserydd i'r sesiwn, nid i'r cyfrif

Dewiswch y gwrthrych yn gyntaf. Gall cyfrif ddal sawl dyfais a sawl sesiwn ar yr un pryd, felly ni all nodyn wedi'i allweddu ar enw defnyddiwr ddweud pa gysylltiad a gyrhaeddodd yr oedran. Allweddwch ef ar y proffil ynghyd â'r actifadu hwnnw, a chanslo'r hysbysiad sy'n aros pan fydd yr actifadu yn gorffen.

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

Mae'r tabl hwnnw'n gontract ar gyfer eich hysbysydd eich hun, nid yn ddisgrifiad o API galwad yn ôl unrhyw gleient. Beth bynnag y mae'r cynnyrch gosodedig yn ei ddogfennu ar gyfer cyflwr cysylltiad yw'r ffynhonnell i glymu iddi; lle nad yw ond yn datgelu digwyddiadau dilysu, dywedwch hynny'n uchel a derbyniwch yr ymddygiad garwach yn lle casglu sesiwn.

Profwch ef â throthwy byr

Peidiwch byth â dadfygio amserydd diwrnod o hyd trwy aros diwrnod o hyd. Ychwanegwch drothwy y gellir ei ffurfweddu, gosodwch ef i dri deg eiliad, a rhedwch bedwar trosglwyddiad yn eu trefn: cysylltu, aros, datgysylltu, ailgysylltu. Dylai pob trosglwyddiad gynhyrchu un newid cyflwr yn union, a dylai'r ailgysylltu drefnu terfyn newydd yn hytrach nag etifeddu'r hen un.

# 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

Gwyliwch y stampiau amser yn hytrach na'r geiriad. Mae hysbysiad sy'n cyrraedd ag amser cychwyn y sesiwn flaenorol wedi clymu'r gwrthrych anghywir, ac mae hysbysiad sy'n cyrraedd ddwywaith ar gyfer un terfyn yn golygu na chafodd y faner anfon ei chadw erioed.

Cysgu, ailgysylltu a danfoniad coll

Mae cysgu yn torri'r ddau ddyluniad naïf. Mae cyfrif i lawr monotonig yn stopio tra bo'r peiriant yn cysgu, mae terfyn cloc wal yn parhau i symud, ac mae amserydd sy'n tanio yn ystod cysgu yn cael ei ddanfon yn hwyr neu ddim o gwbl. Penderfynwch pa ymddygiad sydd ei angen ar eich gofyniad, yna cysgwch y peiriant dros y trothwy a chadarnhewch.

Mae danfon yn haeddu'r un gofal. Os na ellir dangos yr hysbysiad, ciwch ef, a gwirio eto fod y sesiwn darged yn bodoli o hyd cyn ei ddangos o'r diwedd; fel arall mae'r defnyddiwr yn cael ei rybuddio am gysylltiad sydd eisoes wedi gorffen. Mae datgysylltu gorfodol ac adnewyddu manylion yn aros y tu allan i'r llwybr hwn, oherwydd mae nodyn sy'n newid tynged y cysylltiad yn dawel yn benderfyniad polisi wedi'i wisgo fel hysbysiad.

Erthyglau cysylltiedig