Updated settings store for new API
This commit is contained in:
parent
c8af0ba33b
commit
912a2f4c2a
@ -23,6 +23,7 @@ import dorkbox.netUtil.IPv6
|
|||||||
import dorkbox.network.connection.CryptoManagement
|
import dorkbox.network.connection.CryptoManagement
|
||||||
import dorkbox.serializers.SerializationDefaults
|
import dorkbox.serializers.SerializationDefaults
|
||||||
import dorkbox.storage.Storage
|
import dorkbox.storage.Storage
|
||||||
|
import dorkbox.storage.serializer.SerializerBytes
|
||||||
import mu.KLogger
|
import mu.KLogger
|
||||||
import java.net.Inet4Address
|
import java.net.Inet4Address
|
||||||
import java.net.Inet6Address
|
import java.net.Inet6Address
|
||||||
@ -55,8 +56,8 @@ class SettingsStore(storageBuilder: Storage.Builder, val logger: KLogger) : Auto
|
|||||||
store = storageBuilder.logger(logger).apply {
|
store = storageBuilder.logger(logger).apply {
|
||||||
if (isStringBased) {
|
if (isStringBased) {
|
||||||
// have to load/save keys+values as strings
|
// have to load/save keys+values as strings
|
||||||
onLoad { key, value, load ->
|
onLoad { serializer, key, value, load ->
|
||||||
// key/value will be strings for a string based storage system
|
// key/value will ALWAYS be strings for a string based storage system
|
||||||
key as String
|
key as String
|
||||||
value as String
|
value as String
|
||||||
|
|
||||||
@ -75,7 +76,7 @@ class SettingsStore(storageBuilder: Storage.Builder, val logger: KLogger) : Auto
|
|||||||
|
|
||||||
val xValue = value.decodeBase58()
|
val xValue = value.decodeBase58()
|
||||||
load(xKey, xValue)
|
load(xKey, xValue)
|
||||||
}.onSave { key, value, save ->
|
}.onSave { serializer, key, value, save ->
|
||||||
// we want the keys to be easy to read in case we are using string based storage
|
// we want the keys to be easy to read in case we are using string based storage
|
||||||
val xKey = when (key) {
|
val xKey = when (key) {
|
||||||
saltKey, privateKey, Storage.versionTag -> key
|
saltKey, privateKey, Storage.versionTag -> key
|
||||||
@ -104,11 +105,11 @@ class SettingsStore(storageBuilder: Storage.Builder, val logger: KLogger) : Auto
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// everything is stored as bytes. We use a serializer instead to register types for easy serialization
|
// everything is stored as bytes. We use a serializer instead to register types for easy serialization
|
||||||
onNewSerializer {
|
serializer(SerializerBytes {
|
||||||
register(ByteArray::class.java)
|
register(ByteArray::class.java)
|
||||||
register(Inet4Address::class.java, SerializationDefaults.inet4AddressSerializer)
|
register(Inet4Address::class.java, SerializationDefaults.inet4AddressSerializer)
|
||||||
register(Inet6Address::class.java, SerializationDefaults.inet6AddressSerializer)
|
register(Inet6Address::class.java, SerializationDefaults.inet6AddressSerializer)
|
||||||
}
|
})
|
||||||
}
|
}
|
||||||
}.build()
|
}.build()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user