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 OpenVPNCredentials;
@class OpenVPNConnectionInfo;
@class OpenVPNTransportStats;
@class OpenVPNInterfaceStats;
@class NEPacketTunnelNetworkSettings;
// 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
after an event of type "CONNECTED, otherwise return nil
after an event of type "CONNECTED, otherwise return nil.
*/
@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#>

View File

@@ -14,13 +14,15 @@
#import <NetworkExtension/NetworkExtension.h>
#import "OpenVPNClient.h"
#import "OpenVPNError.h"
#import "OpenVPNEvent.h"
#import "OpenVPNConfiguration+Internal.h"
#import "OpenVPNCredentials+Internal.h"
#import "OpenVPNProperties+Internal.h"
#import "OpenVPNConnectionInfo+Internal.h"
#import "OpenVPNClient.h"
#import "OpenVPNTransportStats+Internal.h"
#import "OpenVPNInterfaceStats+Internal.h"
#import "OpenVPNAdapter.h"
#import "OpenVPNAdapter+Internal.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;
}
- (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
- (OpenVPNProperties *)applyConfiguration:(nonnull OpenVPNConfiguration *)configuration error:(out NSError * __nullable * __nullable)error {