OpeVPNTransportStats lastPacketReceived NSInteger -> NSDate (#21)

* Add NSCopying, NSSecureCoding Support to Informational Classes

* Remove Redundant Copies

* Revert out-of-context typo corrections

* Revert out-of-context changes

* Convert lastPacketReceived to NSDate

* Add NSCopying, NSSecureCoding Support to Informational Classes

* Revert out-of-context changes

* Convert lastPacketReceived to NSDate
This commit is contained in:
Jonathan Downing
2017-09-16 19:59:57 +03:00
committed by Sergey Abramchuk
parent 270d5b8cac
commit bfa8ab801a
2 changed files with 7 additions and 8 deletions

View File

@@ -34,9 +34,8 @@
@property (readonly, nonatomic) NSInteger packetsOut; @property (readonly, nonatomic) NSInteger packetsOut;
/** /**
Number of binary milliseconds (1/1024th of a second) since Date when last packet was received, or nil if undefined
last packet was received, or -1 if undefined
*/ */
@property (readonly, nonatomic) NSInteger lastPacketReceived; @property (readonly, nonatomic, nullable) NSDate *lastPacketReceived;
@end @end

View File

@@ -15,7 +15,7 @@ using namespace openvpn;
@property (readwrite, nonatomic) NSInteger bytesOut; @property (readwrite, nonatomic) NSInteger bytesOut;
@property (readwrite, nonatomic) NSInteger packetsIn; @property (readwrite, nonatomic) NSInteger packetsIn;
@property (readwrite, nonatomic) NSInteger packetsOut; @property (readwrite, nonatomic) NSInteger packetsOut;
@property (readwrite, nonatomic) NSInteger lastPacketReceived; @property (readwrite, nonatomic) NSDate *lastPacketReceived;
@end @end
@implementation OpenVPNTransportStats @implementation OpenVPNTransportStats
@@ -26,7 +26,7 @@ using namespace openvpn;
self.bytesOut = stats.bytesOut; self.bytesOut = stats.bytesOut;
self.packetsIn = stats.packetsIn; self.packetsIn = stats.packetsIn;
self.packetsOut = stats.packetsOut; self.packetsOut = stats.packetsOut;
self.lastPacketReceived = stats.lastPacketReceived; self.lastPacketReceived = stats.lastPacketReceived >= 0 ? [NSDate dateWithTimeIntervalSinceNow:stats.lastPacketReceived / -1024.0] : nil;
} }
return self; return self;
} }
@@ -37,7 +37,7 @@ using namespace openvpn;
statistics.bytesOut = self.bytesOut; statistics.bytesOut = self.bytesOut;
statistics.packetsIn = self.packetsIn; statistics.packetsIn = self.packetsIn;
statistics.packetsOut = self.packetsOut; statistics.packetsOut = self.packetsOut;
statistics.lastPacketReceived = self.lastPacketReceived; statistics.lastPacketReceived = [self.lastPacketReceived copyWithZone:zone];
return statistics; return statistics;
} }
@@ -46,7 +46,7 @@ using namespace openvpn;
[aCoder encodeInteger:self.bytesOut forKey:NSStringFromSelector(@selector(bytesOut))]; [aCoder encodeInteger:self.bytesOut forKey:NSStringFromSelector(@selector(bytesOut))];
[aCoder encodeInteger:self.packetsIn forKey:NSStringFromSelector(@selector(packetsIn))]; [aCoder encodeInteger:self.packetsIn forKey:NSStringFromSelector(@selector(packetsIn))];
[aCoder encodeInteger:self.packetsOut forKey:NSStringFromSelector(@selector(packetsOut))]; [aCoder encodeInteger:self.packetsOut forKey:NSStringFromSelector(@selector(packetsOut))];
[aCoder encodeInteger:self.lastPacketReceived forKey:NSStringFromSelector(@selector(lastPacketReceived))]; [aCoder encodeObject:self.lastPacketReceived forKey:NSStringFromSelector(@selector(lastPacketReceived))];
} }
- (instancetype)initWithCoder:(NSCoder *)aDecoder { - (instancetype)initWithCoder:(NSCoder *)aDecoder {
@@ -55,7 +55,7 @@ using namespace openvpn;
self.bytesOut = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(bytesOut))]; self.bytesOut = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(bytesOut))];
self.packetsIn = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(packetsIn))]; self.packetsIn = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(packetsIn))];
self.packetsOut = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(packetsOut))]; self.packetsOut = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(packetsOut))];
self.lastPacketReceived = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(lastPacketReceived))]; self.lastPacketReceived = [aDecoder decodeObjectOfClass:[NSDate class] forKey:NSStringFromSelector(@selector(lastPacketReceived))];
} }
return self; return self;
} }