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
object MessageSerializer : Serializer<Message> {
override fun serialize(buffer: ChainedByteBuffer, data: Message, features: QuasselFeatures) {
SignedId64Serializer.serialize(buffer, data.messageId, features)
if (features.hasFeature(ExtendedFeature.LongMessageTime) ||
features.hasFeature(ExtendedFeature.LongTime))
if (features.hasFeature(ExtendedFeature.LongTime))
LongSerializer.serialize(buffer, data.time.toEpochMilli(), features)
else
IntSerializer.serialize(buffer, data.time.epochSecond.toInt(), features)
......@@ -50,8 +49,7 @@ object MessageSerializer : Serializer<Message> {
override fun deserialize(buffer: ByteBuffer, features: QuasselFeatures): Message {
return Message(
messageId = SignedId64Serializer.deserialize(buffer, features),
time = if (features.hasFeature(ExtendedFeature.LongMessageTime) ||
features.hasFeature(ExtendedFeature.LongTime))
time = if (features.hasFeature(ExtendedFeature.LongTime))
Instant.ofEpochMilli(LongSerializer.deserialize(buffer, features))
else
Instant.ofEpochSecond(IntSerializer.deserialize(buffer, features).toLong()),
......
......@@ -49,13 +49,14 @@ enum class ExtendedFeature {
ExtendedFeatures,
/** Serialize message time as 64-bit */
LongTime,
LongMessageTime,
/** Real Name and Avatar URL in backlog */
RichMessages,
/** Backlogmanager supports filtering backlog by messagetype */
BacklogFilterType,
/** 64-bit IDs for messages */
LongMessageId;
LongMessageId,
/** CoreInfo dynamically updated using signals */
SyncedCoreInfo;
companion object {
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