package Ġcom . ank . dr ift . client . config Ċ Ċ import Ġcom . ank . dr ift . client . service . Client Cache Service Ċ import Ġorg . springframework . boot . CommandLine Runner Ċ import Ġorg . springframework . boot . autoconfigure . condition . Conditional On Property Ċ import Ġorg . springframework . context . annotation . Bean Ċ import Ġorg . springframework . context . annotation . Component Scan Ċ import Ġorg . springframework . context . annotation . Configuration Ċ import Ġreactor . core . Disposable Ċ import Ġreactor . core . publisher . Flux Ċ import Ġreactor . core . scheduler . Scheduler Ċ import Ġreactor . core . scheduler . Schedulers Ċ import Ġjava . time . Duration Ċ import Ġjavax . inject . Inject Ċ Ċ @ Configuration Ċ @ Component Scan (" com . ank . dr ift . client ") Ċ @ Conditional On Property ( name Ġ= Ġ[" tunnel . client . enabled "], Ġhaving Value Ġ= Ġ" true ") Ċ class ĠClient Web Configuration Ġ@ Inject Ġconstructor ( val Ġclient Cache Service : ĠClient Cache Service ) Ġ{ ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġclient Registration Elastic Scheduler (): ĠScheduler Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠS chedulers . new Elastic (" client - registration - scheduler ", Ġ 6 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġclient Ping Elastic Scheduler (): ĠScheduler Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠS chedulers . new Elastic (" client - ping - scheduler ", Ġ 6 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġclient Request Elastic Scheduler (): ĠScheduler Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠS chedulers . new Elastic (" client - request - scheduler ", Ġ 3 0 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġclient E viction Elastic Scheduler (): ĠScheduler Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠS chedulers . new Elastic (" server - e viction - scheduler ", Ġ 6 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġstart St ale Response E viction ( client E viction Elastic Scheduler : ĠScheduler ): ĠDis posable Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinterval InSeconds : ĠLong Ġ= Ġ 1 0 ĊĠĠĠĠĠĠĠ Ġreturn ĠFlux . interval ( Duration . of Seconds ( interval InSeconds )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient Cache Service . ev ict St ale Responses () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. retry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġis ĠException ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. subscribe On ( client E viction Elastic Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. publish On ( client E viction Elastic Scheduler ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Bean ĊĠĠĠ Ġfun Ġstart Client (): ĠCommandLine Runner Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCommandLine Runner Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġrun ( var arg Ġargs : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// ĠTo Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }