Class FileWatcherCertificateProvider
java.lang.Object
io.grpc.xds.internal.security.certprovider.CertificateProvider
io.grpc.xds.internal.security.certprovider.FileWatcherCertificateProvider
- All Implemented Interfaces:
Closeable, Closeable, AutoCloseable, Runnable
Implementation of
CertificateProvider for file watching cert provider.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static classNested classes/interfaces inherited from class CertificateProvider
CertificateProvider.DistributorWatcher, CertificateProvider.Watcher -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Pathprivate final Pathprivate FileTimeprivate FileTimeprivate FileTimeprivate static final Loggerprivate final longprivate final ScheduledExecutorService(package private) ScheduledFuture<?> private booleanprivate final io.grpc.internal.TimeProviderprivate final Path -
Constructor Summary
ConstructorsConstructorDescriptionFileWatcherCertificateProvider(CertificateProvider.DistributorWatcher watcher, boolean notifyCertUpdates, String certFile, String keyFile, String trustFile, long refreshIntervalInSeconds, ScheduledExecutorService scheduledExecutorService, io.grpc.internal.TimeProvider timeProvider) -
Method Summary
Modifier and TypeMethodDescription(package private) voidvoidclose()Releases all resources and stop cert refreshes and watcher updates.private longprivate voidvoidrun()private voidscheduleNextRefreshCertificate(long delayInSeconds) voidstart()Starts the cert refresh and watcher update cycle.Methods inherited from class CertificateProvider
getWatcher, isNotifyCertUpdates
-
Field Details
-
logger
-
scheduledExecutorService
-
timeProvider
private final io.grpc.internal.TimeProvider timeProvider -
certFile
-
keyFile
-
trustFile
-
refreshIntervalInSeconds
private final long refreshIntervalInSeconds -
scheduledFuture
ScheduledFuture<?> scheduledFuture -
lastModifiedTimeCert
-
lastModifiedTimeKey
-
lastModifiedTimeRoot
-
shutdown
private boolean shutdown
-
-
Constructor Details
-
FileWatcherCertificateProvider
FileWatcherCertificateProvider(CertificateProvider.DistributorWatcher watcher, boolean notifyCertUpdates, String certFile, String keyFile, String trustFile, long refreshIntervalInSeconds, ScheduledExecutorService scheduledExecutorService, io.grpc.internal.TimeProvider timeProvider)
-
-
Method Details
-
start
public void start()Description copied from class:CertificateProviderStarts the cert refresh and watcher update cycle.- Specified by:
startin classCertificateProvider
-
close
public void close()Description copied from class:CertificateProviderReleases all resources and stop cert refreshes and watcher updates.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classCertificateProvider
-
scheduleNextRefreshCertificate
private void scheduleNextRefreshCertificate(long delayInSeconds) -
checkAndReloadCertificates
void checkAndReloadCertificates() -
generateErrorIfCurrentCertExpired
-
computeDelaySecondsToCertExpiry
-
run
-