@@ -10,20 +10,20 @@ import (
1010)
1111
1212// evType distinguishes between scheduled transmit (TX) and detect-timeout (Detect) events.
13- type evType uint8
13+ type eventType uint8
1414
1515const (
16- evTX evType = 1 // transmit control packet
17- evDetect evType = 2 // detect timeout check
16+ eventTypeTX eventType = 1 // transmit control packet
17+ eventTypeDetect eventType = 2 // detect timeout check
1818)
1919
2020// event represents a single scheduled action tied to a session.
2121// Each event is timestamped and sequence-numbered to ensure stable ordering in the heap.
2222type event struct {
23- when time.Time // time when the event should fire
24- typ evType // type of event (TX or Detect)
25- s * Session // owning session
26- seq uint64 // sequence number for deterministic ordering
23+ when time.Time // time when the event should fire
24+ eventType eventType // type of event (TX or Detect)
25+ session * Session // owning session
26+ seq uint64 // sequence number for deterministic ordering
2727}
2828
2929// EventQueue is a thread-safe priority queue of scheduled events.
@@ -173,22 +173,22 @@ func (s *Scheduler) Run(ctx context.Context) error {
173173 }
174174 }
175175
176- switch ev .typ {
177- case evTX :
178- s .doTX (ev .s )
179- s .scheduleTx (time .Now (), ev .s )
180- case evDetect :
181- if s .tryExpire (ev .s ) {
176+ switch ev .eventType {
177+ case eventTypeTX :
178+ s .doTX (ev .session )
179+ s .scheduleTx (time .Now (), ev .session )
180+ case eventTypeDetect :
181+ if s .tryExpire (ev .session ) {
182182 // Expiration triggers asynchronous session-down handling.
183- go s .onSessionDown (ev .s )
183+ go s .onSessionDown (ev .session )
184184 continue
185185 }
186186 // Still active; re-arm detect timer for next interval.
187- ev .s .mu .Lock ()
188- st := ev .s .state
189- ev .s .mu .Unlock ()
187+ ev .session .mu .Lock ()
188+ st := ev .session .state
189+ ev .session .mu .Unlock ()
190190 if st == StateUp || st == StateInit {
191- s .scheduleDetect (time .Now (), ev .s )
191+ s .scheduleDetect (time .Now (), ev .session )
192192 }
193193 }
194194 }
@@ -204,7 +204,7 @@ func (s *Scheduler) scheduleTx(now time.Time, sess *Session) {
204204 return
205205 }
206206 next := sess .ComputeNextTx (now , nil )
207- s .eq .Push (& event {when : next , typ : evTX , s : sess })
207+ s .eq .Push (& event {when : next , eventType : eventTypeTX , session : sess })
208208}
209209
210210// scheduleDetect arms or re-arms a session’s detection timer and enqueues a detect event.
@@ -214,7 +214,7 @@ func (s *Scheduler) scheduleDetect(now time.Time, sess *Session) {
214214 if ! ok {
215215 return
216216 }
217- s .eq .Push (& event {when : ddl , typ : evDetect , s : sess })
217+ s .eq .Push (& event {when : ddl , eventType : eventTypeDetect , session : sess })
218218}
219219
220220// doTX builds and transmits a ControlPacket representing the session’s current state.
@@ -262,7 +262,7 @@ func (s *Scheduler) doTX(sess *Session) {
262262func (s * Scheduler ) tryExpire (sess * Session ) bool {
263263 now := time .Now ()
264264 if sess .ExpireIfDue (now ) {
265- s .eq .Push (& event {when : now , typ : evTX , s : sess })
265+ s .eq .Push (& event {when : now , eventType : eventTypeTX , session : sess })
266266 return true
267267 }
268268 return false
0 commit comments