Swiftgram/submodules/MtProtoKit/MTProtoKit/MTDatacenterSaltInfo.m
Peter 373769682e Add 'submodules/MtProtoKit/' from commit '14ab734b977fd4f1686a2a13415f6a4c9b9fdd6d'
git-subtree-dir: submodules/MtProtoKit
git-subtree-mainline: 3b155750f5a4894ff3dedf1860a37e94e0ea9571
git-subtree-split: 14ab734b977fd4f1686a2a13415f6a4c9b9fdd6d
2019-06-11 18:55:34 +01:00

52 lines
1.3 KiB
Objective-C

#import "MTDatacenterSaltInfo.h"
@implementation MTDatacenterSaltInfo
- (instancetype)initWithSalt:(int64_t)salt firstValidMessageId:(int64_t)firstValidMessageId lastValidMessageId:(int64_t)lastValidMessageId
{
self = [super init];
if (self != nil)
{
_salt = salt;
_firstValidMessageId = firstValidMessageId;
_lastValidMessageId = lastValidMessageId;
}
return self;
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
self = [super init];
if (self != nil)
{
_salt = [aDecoder decodeInt64ForKey:@"salt"];
_firstValidMessageId = [aDecoder decodeInt64ForKey:@"firstValidMessageId"];
_lastValidMessageId = [aDecoder decodeInt64ForKey:@"lastValidMessageId"];
}
return self;
}
- (void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeInt64:_salt forKey:@"salt"];
[aCoder encodeInt64:_firstValidMessageId forKey:@"firstValidMessageId"];
[aCoder encodeInt64:_lastValidMessageId forKey:@"lastValidMessageId"];
}
- (int64_t)validMessageCountAfterId:(int64_t)messageId
{
if (messageId < _firstValidMessageId)
return 0;
return MAX(0, _lastValidMessageId - messageId);
}
- (bool)isValidFutureSaltForMessageId:(int64_t)messageId
{
return _lastValidMessageId > messageId;
}
@end