Skip to content
Snippets Groups Projects
Verified Commit 9e072f43 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Fixes #133

parent 1c667e4e
No related branches found
No related tags found
No related merge requests found
...@@ -29,8 +29,7 @@ import java.nio.ByteBuffer ...@@ -29,8 +29,7 @@ import java.nio.ByteBuffer
object MessageSerializer : Serializer<Message> { object MessageSerializer : Serializer<Message> {
override fun serialize(buffer: ChainedByteBuffer, data: Message, features: QuasselFeatures) { override fun serialize(buffer: ChainedByteBuffer, data: Message, features: QuasselFeatures) {
SignedId64Serializer.serialize(buffer, data.messageId, features) SignedId64Serializer.serialize(buffer, data.messageId, features)
if (features.hasFeature(ExtendedFeature.LongMessageTime) || if (features.hasFeature(ExtendedFeature.LongTime))
features.hasFeature(ExtendedFeature.LongTime))
LongSerializer.serialize(buffer, data.time.toEpochMilli(), features) LongSerializer.serialize(buffer, data.time.toEpochMilli(), features)
else else
IntSerializer.serialize(buffer, data.time.epochSecond.toInt(), features) IntSerializer.serialize(buffer, data.time.epochSecond.toInt(), features)
...@@ -50,8 +49,7 @@ object MessageSerializer : Serializer<Message> { ...@@ -50,8 +49,7 @@ object MessageSerializer : Serializer<Message> {
override fun deserialize(buffer: ByteBuffer, features: QuasselFeatures): Message { override fun deserialize(buffer: ByteBuffer, features: QuasselFeatures): Message {
return Message( return Message(
messageId = SignedId64Serializer.deserialize(buffer, features), messageId = SignedId64Serializer.deserialize(buffer, features),
time = if (features.hasFeature(ExtendedFeature.LongMessageTime) || time = if (features.hasFeature(ExtendedFeature.LongTime))
features.hasFeature(ExtendedFeature.LongTime))
Instant.ofEpochMilli(LongSerializer.deserialize(buffer, features)) Instant.ofEpochMilli(LongSerializer.deserialize(buffer, features))
else else
Instant.ofEpochSecond(IntSerializer.deserialize(buffer, features).toLong()), Instant.ofEpochSecond(IntSerializer.deserialize(buffer, features).toLong()),
......
...@@ -49,13 +49,14 @@ enum class ExtendedFeature { ...@@ -49,13 +49,14 @@ enum class ExtendedFeature {
ExtendedFeatures, ExtendedFeatures,
/** Serialize message time as 64-bit */ /** Serialize message time as 64-bit */
LongTime, LongTime,
LongMessageTime,
/** Real Name and Avatar URL in backlog */ /** Real Name and Avatar URL in backlog */
RichMessages, RichMessages,
/** Backlogmanager supports filtering backlog by messagetype */ /** Backlogmanager supports filtering backlog by messagetype */
BacklogFilterType, BacklogFilterType,
/** 64-bit IDs for messages */ /** 64-bit IDs for messages */
LongMessageId; LongMessageId,
/** CoreInfo dynamically updated using signals */
SyncedCoreInfo;
companion object { companion object {
private val map = values().associateBy(ExtendedFeature::name) private val map = values().associateBy(ExtendedFeature::name)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment