Endpoint custom settingsStore can now be created (instead of just specifying a type)

This commit is contained in:
nathan 2020-09-25 14:51:16 +02:00
parent 816191a5b3
commit 80c4ed6fcc

View File

@ -128,7 +128,7 @@ internal constructor(val type: Class<*>, internal val config: Configuration) : A
handshakeKryo = serialization.initHandshakeKryo()
// we have to be able to specify the property store
settingsStore = config.settingsStore.create(logger)
settingsStore = createSettingsStore(logger)
crypto = CryptoManagement(logger, settingsStore, type, config)
@ -172,6 +172,14 @@ internal constructor(val type: Class<*>, internal val config: Configuration) : A
}
}
/**
* Open so users can override which/how a settings store is created
*/
open fun createSettingsStore(logger: KLogger): SettingsStore {
return config.settingsStore.create(logger)
}
internal fun initEndpointState(): Aeron {
shutdown.getAndSet(false)
shutdownWaiter = SuspendWaiter()