@@ -45,7 +45,9 @@ pub(crate) use crate::session::session_ref::InternalSessionRef;
4545pub use crate :: session:: session_ref:: InternalSessionRef ;
4646use crate :: session:: session_ref:: OutboundRequest ;
4747use crate :: session:: state:: SessionState ;
48- use crate :: session:: state:: { AwaitingResendTransitionOutcome , TestRequestId } ;
48+ use crate :: session:: state:: {
49+ AwaitingLogonState , AwaitingLogoutState , AwaitingResendTransitionOutcome , TestRequestId ,
50+ } ;
4951use crate :: session_schedule:: { SessionPeriodComparison , SessionSchedule } ;
5052use crate :: store:: MessageStore ;
5153use crate :: transport:: writer:: WriterRef ;
@@ -200,7 +202,7 @@ where
200202 }
201203 }
202204
203- if let SessionState :: AwaitingLogon { .. } = & mut self . state {
205+ if let SessionState :: AwaitingLogon ( _ ) = & mut self . state {
204206 // TODO: should this (and all inbound message processing) logic be pushed into the state?
205207 if message_type != Logon :: MSG_TYPE {
206208 self . state . disconnect_writer ( ) . await ;
@@ -332,11 +334,11 @@ where
332334 }
333335
334336 async fn on_connect ( & mut self , writer : WriterRef ) -> Result < ( ) , SessionOperationError > {
335- self . state = SessionState :: AwaitingLogon {
337+ self . state = SessionState :: AwaitingLogon ( AwaitingLogonState {
336338 writer,
337339 logon_sent : false ,
338340 logon_timeout : Instant :: now ( ) + Duration :: from_secs ( self . config . logon_timeout ) ,
339- } ;
341+ } ) ;
340342 self . reset_peer_timer ( None ) ;
341343 self . send_logon ( ) . await ?;
342344
@@ -345,23 +347,23 @@ where
345347
346348 async fn on_disconnect ( & mut self , reason : String ) {
347349 match self . state {
348- SessionState :: Active { .. }
349- | SessionState :: AwaitingLogon { .. }
350+ SessionState :: Active ( _ )
351+ | SessionState :: AwaitingLogon ( _ )
350352 | SessionState :: AwaitingResend ( _) => {
351353 self . state . disconnect_writer ( ) . await ;
352354 self . state = SessionState :: new_disconnected ( true , & reason) ;
353355 }
354- SessionState :: Disconnected { .. } => {
356+ SessionState :: Disconnected ( _ ) => {
355357 warn ! ( "disconnect message was received, but the session is already disconnected" )
356358 }
357- SessionState :: AwaitingLogout { reconnect, .. } => {
359+ SessionState :: AwaitingLogout ( AwaitingLogoutState { reconnect, .. } ) => {
358360 self . state = SessionState :: new_disconnected ( reconnect, & reason) ;
359361 }
360362 }
361363 }
362364
363365 async fn on_logon ( & mut self , message : & Message ) -> Result < ( ) , SessionOperationError > {
364- if let SessionState :: AwaitingLogon { writer, .. } = & self . state {
366+ if let SessionState :: AwaitingLogon ( AwaitingLogonState { writer, .. } ) = & self . state {
365367 match self . verify_message ( message, true , true ) {
366368 Ok ( _) => {
367369 // happy logon flow, the session is now active
@@ -395,7 +397,7 @@ where
395397 // if the session is already disconnected, we have nothing else to do
396398 SessionState :: Disconnected ( ..) => { }
397399 // if we initiated the logout, preserve the reconnect flag
398- SessionState :: AwaitingLogout { reconnect, .. } => {
400+ SessionState :: AwaitingLogout ( AwaitingLogoutState { reconnect, .. } ) => {
399401 self . state . disconnect_writer ( ) . await ;
400402 self . state = SessionState :: new_disconnected ( reconnect, "logout completed" ) ;
401403 }
@@ -1039,8 +1041,8 @@ where
10391041 warn ! ( "tried to respond to ShouldReconnect query but the receiver is gone" ) ;
10401042 }
10411043 }
1042- SessionEvent :: AwaitingActiveSession ( responder) => {
1043- self . state . register_session_awaiter ( responder) ;
1044+ SessionEvent :: AwaitSchedule ( responder) => {
1045+ self . state . register_schedule_awaiter ( responder) ;
10441046 }
10451047 }
10461048 }
@@ -1117,7 +1119,7 @@ where
11171119 let is_active = self . schedule . is_active_at ( & now) ;
11181120
11191121 if is_active {
1120- self . state . notify_session_awaiter ( ) ;
1122+ self . state . notify_schedule_awaiter ( ) ;
11211123 match self
11221124 . schedule
11231125 . is_same_session_period ( & self . store . creation_time ( ) , & now)
0 commit comments