Return transport stats and interface stats

This commit is contained in:
Sergey Abramchuk
2017-04-30 18:00:58 +03:00
parent f73c83f372
commit b32f7e2496
2 changed files with 26 additions and 2 deletions

View File

@@ -13,6 +13,8 @@
@class OpenVPNProperties; @class OpenVPNProperties;
@class OpenVPNCredentials; @class OpenVPNCredentials;
@class OpenVPNConnectionInfo; @class OpenVPNConnectionInfo;
@class OpenVPNTransportStats;
@class OpenVPNInterfaceStats;
@class NEPacketTunnelNetworkSettings; @class NEPacketTunnelNetworkSettings;
// TODO: Add documentation to properties and methods // TODO: Add documentation to properties and methods
@@ -102,10 +104,20 @@ NS_SWIFT_NAME(handle(logMessage:));
/** /**
Return information about the most recent connection. Will be available Return information about the most recent connection. Will be available
after an event of type "CONNECTED, otherwise return nil after an event of type "CONNECTED, otherwise return nil.
*/ */
@property (nullable, readonly, nonatomic) OpenVPNConnectionInfo *connectionInfo; @property (nullable, readonly, nonatomic) OpenVPNConnectionInfo *connectionInfo;
/**
Return transport stats
*/
@property (nonnull, readonly, nonatomic) OpenVPNTransportStats *transportStats;
/**
Return tun stats
*/
@property (nonnull, readonly, nonatomic) OpenVPNInterfaceStats *interfaceStats;
/** /**
<#Description#> <#Description#>

View File

@@ -14,13 +14,15 @@
#import <NetworkExtension/NetworkExtension.h> #import <NetworkExtension/NetworkExtension.h>
#import "OpenVPNClient.h"
#import "OpenVPNError.h" #import "OpenVPNError.h"
#import "OpenVPNEvent.h" #import "OpenVPNEvent.h"
#import "OpenVPNConfiguration+Internal.h" #import "OpenVPNConfiguration+Internal.h"
#import "OpenVPNCredentials+Internal.h" #import "OpenVPNCredentials+Internal.h"
#import "OpenVPNProperties+Internal.h" #import "OpenVPNProperties+Internal.h"
#import "OpenVPNConnectionInfo+Internal.h" #import "OpenVPNConnectionInfo+Internal.h"
#import "OpenVPNClient.h" #import "OpenVPNTransportStats+Internal.h"
#import "OpenVPNInterfaceStats+Internal.h"
#import "OpenVPNAdapter.h" #import "OpenVPNAdapter.h"
#import "OpenVPNAdapter+Internal.h" #import "OpenVPNAdapter+Internal.h"
#import "OpenVPNAdapter+Public.h" #import "OpenVPNAdapter+Public.h"
@@ -139,6 +141,16 @@ NSString * const OpenVPNAdapterErrorEventKey = @"me.ss-abramchuk.openvpn-adapter
return info.defined ? [[OpenVPNConnectionInfo alloc] initWithConnectionInfo:info] : nil; return info.defined ? [[OpenVPNConnectionInfo alloc] initWithConnectionInfo:info] : nil;
} }
- (OpenVPNTransportStats *)transportStats {
ClientAPI::TransportStats stats = self.vpnClient->transport_stats();
return [[OpenVPNTransportStats alloc] initWithTransportStats:stats];
}
- (OpenVPNInterfaceStats *)interfaceStats {
ClientAPI::InterfaceStats stats = self.vpnClient->tun_stats();
return [[OpenVPNInterfaceStats alloc] initWithInterfaceStats:stats];
}
#pragma mark Client Configuration #pragma mark Client Configuration
- (OpenVPNProperties *)applyConfiguration:(nonnull OpenVPNConfiguration *)configuration error:(out NSError * __nullable * __nullable)error { - (OpenVPNProperties *)applyConfiguration:(nonnull OpenVPNConfiguration *)configuration error:(out NSError * __nullable * __nullable)error {