Commit ff8e6e8b authored by Him188's avatar Him188

Add sequenceId to MessageSource

parent 776e5915
...@@ -22,6 +22,7 @@ internal inline class MessageSourceFromServer( ...@@ -22,6 +22,7 @@ internal inline class MessageSourceFromServer(
val delegate: ImMsgBody.SourceMsg val delegate: ImMsgBody.SourceMsg
) : MessageSource { ) : MessageSource {
override val time: Long get() = delegate.time.toLong() and 0xFFFFFFFF override val time: Long get() = delegate.time.toLong() and 0xFFFFFFFF
override val sequenceId: Int get() = delegate.origSeqs?.firstOrNull() ?: error("cannot find sequenceId from ImMsgBody.SourceMsg")
override val messageUid: Long get() = delegate.pbReserve.loadAs(SourceMsg.ResvAttr.serializer()).origUids!! override val messageUid: Long get() = delegate.pbReserve.loadAs(SourceMsg.ResvAttr.serializer()).origUids!!
override val sourceMessage: MessageChain get() = delegate.toMessageChain() override val sourceMessage: MessageChain get() = delegate.toMessageChain()
override val senderId: Long get() = delegate.senderUin override val senderId: Long get() = delegate.senderUin
...@@ -34,6 +35,7 @@ internal inline class MessageSourceFromMsg( ...@@ -34,6 +35,7 @@ internal inline class MessageSourceFromMsg(
val delegate: MsgComm.Msg val delegate: MsgComm.Msg
) : MessageSource { ) : MessageSource {
override val time: Long get() = delegate.msgHead.msgTime.toLong() and 0xFFFFFFFF override val time: Long get() = delegate.msgHead.msgTime.toLong() and 0xFFFFFFFF
override val sequenceId: Int get() = delegate.msgHead.msgSeq
override val messageUid: Long get() = delegate.msgBody.richText.attr!!.random.toLong() override val messageUid: Long get() = delegate.msgBody.richText.attr!!.random.toLong()
override val sourceMessage: MessageChain get() = delegate.toMessageChain() override val sourceMessage: MessageChain get() = delegate.toMessageChain()
override val senderId: Long get() = delegate.msgHead.fromUin override val senderId: Long get() = delegate.msgHead.fromUin
......
...@@ -26,6 +26,11 @@ import kotlin.jvm.JvmName ...@@ -26,6 +26,11 @@ import kotlin.jvm.JvmName
interface MessageSource : Message { interface MessageSource : Message {
companion object Key : Message.Key<MessageSource> companion object Key : Message.Key<MessageSource>
/**
* 序列号
*/
val sequenceId: Int
/** /**
* 实际上是个随机数, 但服务器确实是用它当做 uid * 实际上是个随机数, 但服务器确实是用它当做 uid
*/ */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment