@@ -30,18 +30,14 @@ use std::time::Duration;
3030use tracing:: { info, warn} ;
3131use trogon_std:: time:: GetElapsed ;
3232
33- #[ allow( dead_code) ]
3433const CANCELLED_SESSION_TTL : Duration = Duration :: from_secs ( 300 ) ;
35- #[ allow( dead_code) ]
3634const CLEANUP_EVERY : usize = 16 ;
3735
38- #[ allow( dead_code) ]
3936pub ( crate ) struct CancelledSessions < I : Copy > {
4037 map : Mutex < HashMap < SessionId , I > > ,
4138 cleanup_counter : std:: sync:: atomic:: AtomicUsize ,
4239}
4340
44- #[ allow( dead_code) ]
4541impl < I : Copy > CancelledSessions < I > {
4642 pub fn new ( ) -> Self {
4743 Self {
@@ -85,7 +81,6 @@ pub struct Bridge<N: RequestClient + PublishClient + FlushClient, C: GetElapsed>
8581 pub ( crate ) nats : N ,
8682 pub ( crate ) clock : C ,
8783 pub ( crate ) metrics : Metrics ,
88- #[ allow( dead_code) ]
8984 pub ( crate ) cancelled_sessions : CancelledSessions < C :: Instant > ,
9085 pub ( crate ) pending_session_prompt_responses : PendingSessionPromptResponseWaiters < C :: Instant > ,
9186 pub ( crate ) prompt_slot_counter : PromptSlotCounter ,
@@ -112,7 +107,6 @@ impl<N: RequestClient + PublishClient + FlushClient, C: GetElapsed> Bridge<N, C>
112107 & self . nats
113108 }
114109
115- #[ allow( dead_code) ]
116110 pub ( crate ) fn register_session_ready_task ( & self , task : tokio:: task:: JoinHandle < ( ) > ) {
117111 let mut tasks = self . session_ready_publish_tasks . lock ( ) . unwrap ( ) ;
118112 tasks. retain ( |task| !task. is_finished ( ) ) ;
@@ -134,7 +128,6 @@ impl<N: RequestClient + PublishClient + FlushClient, C: GetElapsed> Bridge<N, C>
134128 }
135129 }
136130
137- #[ allow( dead_code) ]
138131 pub ( crate ) fn spawn_session_ready ( & self , session_id : & SessionId ) {
139132 let nats_clone = self . nats . clone ( ) ;
140133 let prefix = self . config . acp_prefix ( ) . to_string ( ) ;
@@ -224,63 +217,3 @@ mod send_sync_tests {
224217 assert_send_sync :: < Bridge < AdvancedMockNatsClient , SystemClock > > ( ) ;
225218 }
226219}
227-
228- #[ cfg( test) ]
229- mod cancelled_sessions_tests {
230- use super :: * ;
231- use agent_client_protocol:: SessionId ;
232- use trogon_std:: time:: MockClock ;
233-
234- fn session ( id : & str ) -> SessionId {
235- SessionId :: new ( id. to_string ( ) )
236- }
237-
238- #[ test]
239- fn mark_and_take_within_ttl ( ) {
240- let clock = MockClock :: new ( ) ;
241- let cs = CancelledSessions :: new ( ) ;
242- cs. mark_cancelled ( session ( "s1" ) , & clock) ;
243- assert ! ( cs. take_if_cancelled( & session( "s1" ) , & clock) . is_some( ) ) ;
244- }
245-
246- #[ test]
247- fn take_removes_entry ( ) {
248- let clock = MockClock :: new ( ) ;
249- let cs = CancelledSessions :: new ( ) ;
250- cs. mark_cancelled ( session ( "s1" ) , & clock) ;
251- cs. take_if_cancelled ( & session ( "s1" ) , & clock) ;
252- assert ! ( cs. take_if_cancelled( & session( "s1" ) , & clock) . is_none( ) ) ;
253- }
254-
255- #[ test]
256- fn take_returns_none_for_unknown_session ( ) {
257- let clock = MockClock :: new ( ) ;
258- let cs = CancelledSessions :: new ( ) ;
259- assert ! ( cs. take_if_cancelled( & session( "nope" ) , & clock) . is_none( ) ) ;
260- }
261-
262- #[ test]
263- fn expired_entry_returns_none ( ) {
264- let clock = MockClock :: new ( ) ;
265- let cs = CancelledSessions :: new ( ) ;
266- cs. mark_cancelled ( session ( "s1" ) , & clock) ;
267- clock. advance ( CANCELLED_SESSION_TTL + Duration :: from_secs ( 1 ) ) ;
268- assert ! ( cs. take_if_cancelled( & session( "s1" ) , & clock) . is_none( ) ) ;
269- }
270-
271- #[ test]
272- fn cleanup_evicts_expired_entries ( ) {
273- let clock = MockClock :: new ( ) ;
274- let cs = CancelledSessions :: new ( ) ;
275-
276- cs. mark_cancelled ( session ( "old" ) , & clock) ;
277- clock. advance ( CANCELLED_SESSION_TTL + Duration :: from_secs ( 1 ) ) ;
278-
279- for i in 0 ..CLEANUP_EVERY {
280- cs. mark_cancelled ( session ( & format ! ( "s{i}" ) ) , & clock) ;
281- }
282-
283- let map = cs. map . lock ( ) . unwrap ( ) ;
284- assert ! ( !map. contains_key( & session( "old" ) ) ) ;
285- }
286- }
0 commit comments