diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt index 5764d952b9..2b50dfd62d 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiver.kt @@ -1,4 +1,29 @@ -package org.session.messaging.sending_receiving +package org.session.libsession.messaging.sending_receiving object MessageReceiver { + internal sealed class Error(val description: String) : Exception() { + object InvalidMessage: Error("Invalid message.") + object UnknownMessage: Error("Unknown message type.") + object UnknownEnvelopeType: Error("Unknown envelope type.") + object NoUserPublicKey: Error("Couldn't find user key pair.") + object NoData: Error("Received an empty envelope.") + object SenderBlocked: Error("Received a message from a blocked user.") + object NoThread: Error("Couldn't find thread for message.") + object SelfSend: Error("Message addressed at self.") + object ParsingFailed : Error("Couldn't parse ciphertext message.") + // Shared sender keys + object InvalidGroupPublicKey: Error("Invalid group public key.") + object NoGroupPrivateKey: Error("Missing group private key.") + object SharedSecretGenerationFailed: Error("Couldn't generate a shared secret.") + + internal val isRetryable: Boolean = when (this) { + is InvalidMessage -> false + is UnknownMessage -> false + is UnknownEnvelopeType -> false + is NoData -> false + is SenderBlocked -> false + is SelfSend -> false + else -> true + } + } } \ No newline at end of file diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiverDelegate.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiverDelegate.kt index d3f37719d3..8312f2c674 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiverDelegate.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageReceiverDelegate.kt @@ -1,4 +1,4 @@ -package org.session.messaging.sending_receiving +package org.session.libsession.messaging.sending_receiving interface MessageReceiverDelegate { } \ No newline at end of file diff --git a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderDelegate.kt b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderDelegate.kt index cee5622c47..2cdcb4d206 100644 --- a/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderDelegate.kt +++ b/libsession/src/main/java/org/session/libsession/messaging/sending_receiving/MessageSenderDelegate.kt @@ -1,4 +1,4 @@ -package org.session.messaging.sending_receiving +package org.session.libsession.messaging.sending_receiving interface MessageSenderDelegate { } \ No newline at end of file