Clean up TTL settings

pull/216/head
nielsandriesse 5 years ago
parent 3d2df68f19
commit af58fa87cc

@ -3,40 +3,30 @@
public final class TTLUtilities : NSObject { public final class TTLUtilities : NSObject {
/// If a message type specifies an invalid TTL, this will be used. /// If a message type specifies an invalid TTL, this will be used.
public static let fallbackMessageTTL: UInt64 = 4 * 24 * 60 * 60 * 1000 public static let fallbackMessageTTL: UInt64 = 2 * kDayInMs
@objc(LKMessageType) @objc(LKMessageType)
public enum MessageType : Int { public enum MessageType : Int {
case address // Unimportant control messages
case call case call, typingIndicator
case disappearingMessagesConfiguration // Somewhat important control messages
case ephemeral
case friendRequest
case linkDevice case linkDevice
case profileKey // Important control messages
case receipt case disappearingMessagesConfiguration, ephemeral, profileKey, receipt, sessionRequest, sync, unlinkDevice
case regular // Visible messages
case sessionRequest case friendRequest, regular
case sync
case typingIndicator
case unlinkDevice
} }
@objc public static func getTTL(for messageType: MessageType) -> UInt64 { @objc public static func getTTL(for messageType: MessageType) -> UInt64 {
switch messageType { switch messageType {
case .address: return 1 * kMinuteInMs // Unimportant control messages
case .call: return 1 * kMinuteInMs case .call, .typingIndicator: return 1 * kMinuteInMs
case .disappearingMessagesConfiguration: return 4 * kDayInMs - 1 * kHourInMs // Somewhat important control messages
case .ephemeral: return 4 * kDayInMs - 1 * kHourInMs case .linkDevice: return 1 * kHourInMs
case .friendRequest: return 4 * kDayInMs // Important control messages
case .linkDevice: return 4 * kMinuteInMs case .disappearingMessagesConfiguration, .ephemeral, .profileKey, .receipt, .sessionRequest, .sync, .unlinkDevice: return 2 * kDayInMs - 1 * kHourInMs
case .profileKey: return 4 * kDayInMs - 1 * kHourInMs // Visible messages
case .receipt: return 4 * kDayInMs - 1 * kHourInMs case .friendRequest, .regular: return 2 * kDayInMs
case .regular: return 2 * kDayInMs
case .sessionRequest: return 4 * kDayInMs - 1 * kHourInMs
case .sync: return 4 * kDayInMs - 1 * kHourInMs
case .typingIndicator: return 1 * kMinuteInMs
case .unlinkDevice: return 4 * kDayInMs - 1 * kHourInMs
} }
} }
} }

Loading…
Cancel
Save