Added more serializers
parent
e9866474aa
commit
f68ce407ca
|
@ -0,0 +1,19 @@
|
|||
package dorkbox.serializers
|
||||
|
||||
import com.esotericsoftware.kryo.Kryo
|
||||
import com.esotericsoftware.kryo.Serializer
|
||||
import com.esotericsoftware.kryo.io.Input
|
||||
import com.esotericsoftware.kryo.io.Output
|
||||
import java.net.Inet4Address
|
||||
import java.net.InetAddress
|
||||
|
||||
class Inet4AddressSerializer : Serializer<Inet4Address>() {
|
||||
|
||||
override fun write(kryo: Kryo, output: Output, inetAddress: Inet4Address) {
|
||||
output.writeBytes(inetAddress.address)
|
||||
}
|
||||
|
||||
override fun read(kryo: Kryo, input: Input, type: Class<out Inet4Address>): Inet4Address {
|
||||
return InetAddress.getByAddress(null, input.readBytes(4)) as Inet4Address
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package dorkbox.serializers
|
||||
|
||||
import com.esotericsoftware.kryo.Kryo
|
||||
import com.esotericsoftware.kryo.Serializer
|
||||
import com.esotericsoftware.kryo.io.Input
|
||||
import com.esotericsoftware.kryo.io.Output
|
||||
import java.net.Inet6Address
|
||||
import java.net.InetAddress
|
||||
|
||||
class Inet6AddressSerializer : Serializer<Inet6Address>() {
|
||||
|
||||
override fun write(kryo: Kryo, output: Output, inetAddress: Inet6Address) {
|
||||
output.writeBytes(inetAddress.address) // 16 bytes
|
||||
}
|
||||
|
||||
override fun read(kryo: Kryo, input: Input, type: Class<out Inet6Address>): Inet6Address {
|
||||
return InetAddress.getByAddress(input.readBytes(16)) as Inet6Address
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package dorkbox.serializers
|
||||
|
||||
import com.esotericsoftware.kryo.Kryo
|
||||
import com.esotericsoftware.kryo.Serializer
|
||||
import com.esotericsoftware.kryo.io.Input
|
||||
import com.esotericsoftware.kryo.io.Output
|
||||
import java.time.ZoneId
|
||||
|
||||
class ZoneIdSerializer: Serializer<ZoneId>() {
|
||||
override fun write(kryo: Kryo, output: Output, zoneId: ZoneId) {
|
||||
output.writeString(zoneId.id)
|
||||
}
|
||||
|
||||
override fun read(kryo: Kryo, input: Input, type: Class<out ZoneId>): ZoneId {
|
||||
return ZoneId.of(input.readString())
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue