From bfa8ab801adcf602186148651da4dd19a92cca27 Mon Sep 17 00:00:00 2001 From: Jonathan Downing Date: Sat, 16 Sep 2017 19:59:57 +0300 Subject: [PATCH] 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 --- OpenVPN Adapter/OpenVPNTransportStats.h | 5 ++--- OpenVPN Adapter/OpenVPNTransportStats.mm | 10 +++++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/OpenVPN Adapter/OpenVPNTransportStats.h b/OpenVPN Adapter/OpenVPNTransportStats.h index b08814e..c7888e2 100644 --- a/OpenVPN Adapter/OpenVPNTransportStats.h +++ b/OpenVPN Adapter/OpenVPNTransportStats.h @@ -34,9 +34,8 @@ @property (readonly, nonatomic) NSInteger packetsOut; /** - Number of binary milliseconds (1/1024th of a second) since - last packet was received, or -1 if undefined + Date when last packet was received, or nil if undefined */ -@property (readonly, nonatomic) NSInteger lastPacketReceived; +@property (readonly, nonatomic, nullable) NSDate *lastPacketReceived; @end diff --git a/OpenVPN Adapter/OpenVPNTransportStats.mm b/OpenVPN Adapter/OpenVPNTransportStats.mm index d258423..4dc4ad7 100644 --- a/OpenVPN Adapter/OpenVPNTransportStats.mm +++ b/OpenVPN Adapter/OpenVPNTransportStats.mm @@ -15,7 +15,7 @@ using namespace openvpn; @property (readwrite, nonatomic) NSInteger bytesOut; @property (readwrite, nonatomic) NSInteger packetsIn; @property (readwrite, nonatomic) NSInteger packetsOut; -@property (readwrite, nonatomic) NSInteger lastPacketReceived; +@property (readwrite, nonatomic) NSDate *lastPacketReceived; @end @implementation OpenVPNTransportStats @@ -26,7 +26,7 @@ using namespace openvpn; self.bytesOut = stats.bytesOut; self.packetsIn = stats.packetsIn; self.packetsOut = stats.packetsOut; - self.lastPacketReceived = stats.lastPacketReceived; + self.lastPacketReceived = stats.lastPacketReceived >= 0 ? [NSDate dateWithTimeIntervalSinceNow:stats.lastPacketReceived / -1024.0] : nil; } return self; } @@ -37,7 +37,7 @@ using namespace openvpn; statistics.bytesOut = self.bytesOut; statistics.packetsIn = self.packetsIn; statistics.packetsOut = self.packetsOut; - statistics.lastPacketReceived = self.lastPacketReceived; + statistics.lastPacketReceived = [self.lastPacketReceived copyWithZone:zone]; return statistics; } @@ -46,7 +46,7 @@ using namespace openvpn; [aCoder encodeInteger:self.bytesOut forKey:NSStringFromSelector(@selector(bytesOut))]; [aCoder encodeInteger:self.packetsIn forKey:NSStringFromSelector(@selector(packetsIn))]; [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 { @@ -55,7 +55,7 @@ using namespace openvpn; self.bytesOut = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(bytesOut))]; self.packetsIn = [aDecoder decodeIntegerForKey:NSStringFromSelector(@selector(packetsIn))]; 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; }