Put availability attributes on the type instead of each member when it's the same for all members.
This commit is contained in:
Родитель
bdb3ff9049
Коммит
bbfb76135a
|
@ -18,6 +18,7 @@ namespace Network {
|
|||
// The content context, there are a few pre-configured content contexts for sending
|
||||
// available as static properties on this class
|
||||
//
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public class NWContentContext : NativeObject {
|
||||
bool global;
|
||||
public NWContentContext (IntPtr handle, bool owns) : base (handle, owns)
|
||||
|
@ -44,7 +45,6 @@ namespace Network {
|
|||
base.Release ();
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static IntPtr nw_content_context_create (string contextIdentifier);
|
||||
|
||||
|
@ -55,64 +55,51 @@ namespace Network {
|
|||
InitializeHandle (nw_content_context_create (contextIdentifier));
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static IntPtr nw_content_context_get_identifier (IntPtr handle);
|
||||
|
||||
public string Identifier => Marshal.PtrToStringAnsi (nw_content_context_get_identifier (GetCheckedHandle ()));
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
extern static bool nw_content_context_get_is_final (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_content_context_set_is_final (IntPtr handle, [MarshalAs (UnmanagedType.I1)] bool is_final);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public bool IsFinal {
|
||||
get => nw_content_context_get_is_final (GetCheckedHandle ());
|
||||
set => nw_content_context_set_is_final (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static /* uint64_t */ ulong nw_content_context_get_expiration_milliseconds (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_content_context_set_expiration_milliseconds (IntPtr handle, /* uint64_t */ ulong value);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public ulong ExpirationMilliseconds {
|
||||
get => nw_content_context_get_expiration_milliseconds (GetCheckedHandle ());
|
||||
set => nw_content_context_set_expiration_milliseconds (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static double nw_content_context_get_relative_priority (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_content_context_set_relative_priority (IntPtr handle, double value);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public double RelativePriority {
|
||||
get => nw_content_context_get_relative_priority (GetCheckedHandle ());
|
||||
set => nw_content_context_set_relative_priority (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static IntPtr nw_content_context_copy_antecedent (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_content_context_set_antecedent (IntPtr handle, IntPtr value);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWContentContext Antecedent {
|
||||
get {
|
||||
var h = nw_content_context_copy_antecedent (GetCheckedHandle ());
|
||||
|
@ -125,7 +112,6 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static IntPtr nw_content_context_copy_protocol_metadata (IntPtr handle, IntPtr protocol);
|
||||
|
||||
|
@ -139,11 +125,9 @@ namespace Network {
|
|||
return new NWProtocolMetadata (x, owns: true);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_content_context_set_metadata_for_protocol (IntPtr handle, IntPtr protocolMetadata);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void SetMetadata (NWProtocolMetadata protocolMetadata)
|
||||
{
|
||||
if (protocolMetadata == null)
|
||||
|
@ -169,11 +153,9 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_content_context_foreach_protocol_metadata (IntPtr handle, ref BlockLiteral callback);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public void IterateProtocolMetadata (Action<NWProtocolDefinition,NWProtocolMetadata> callback)
|
||||
{
|
||||
|
|
|
@ -17,22 +17,20 @@ using OS_nw_interface=System.IntPtr;
|
|||
|
||||
namespace Network {
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public class NWInterface : NativeObject {
|
||||
public NWInterface (IntPtr handle, bool owns) : base (handle, owns) {}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern NWInterfaceType nw_interface_get_type (OS_nw_interface iface);
|
||||
|
||||
public NWInterfaceType InterfaceType => nw_interface_get_type (GetCheckedHandle ());
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern IntPtr nw_interface_get_name (OS_nw_interface iface);
|
||||
|
||||
public string Name => Marshal.PtrToStringAnsi (nw_interface_get_name (GetCheckedHandle ()));
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern /* uint32_t */ uint nw_interface_get_index (OS_nw_interface iface);
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public class NWParameters : NativeObject {
|
||||
public NWParameters (IntPtr handle, bool owns) : base (handle, owns) {}
|
||||
|
||||
|
@ -64,7 +65,6 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static unsafe extern nw_parameters_t nw_parameters_create_secure_tcp (void *configure_tls, void *configure_tcp);
|
||||
|
||||
|
@ -72,7 +72,6 @@ namespace Network {
|
|||
// If you pass null, to either configureTls, or configureTcp they will use the default options
|
||||
//
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public unsafe static NWParameters CreateSecureTcp (Action<NWProtocolOptions> configureTls = null, Action<NWProtocolOptions> configureTcp = null)
|
||||
{
|
||||
var tlsHandler = new BlockLiteral ();
|
||||
|
@ -102,7 +101,6 @@ namespace Network {
|
|||
}
|
||||
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
// If you pass null to configureTcp, it will use the default options
|
||||
public unsafe static NWParameters CreateTcp (Action<NWProtocolOptions> configureTcp = null)
|
||||
{
|
||||
|
@ -124,14 +122,12 @@ namespace Network {
|
|||
}
|
||||
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern unsafe nw_parameters_t nw_parameters_create_secure_udp (void *configure_tls, void *configure_tcp);
|
||||
|
||||
//
|
||||
// If you pass null, to either configureTls, or configureTcp they will use the default options
|
||||
//
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public unsafe static NWParameters CreateSecureUdp (Action<NWProtocolOptions> configureTls = null, Action<NWProtocolOptions> configureUdp = null)
|
||||
{
|
||||
|
@ -163,7 +159,6 @@ namespace Network {
|
|||
}
|
||||
|
||||
// If you pass null to configureTcp, it will use the default options
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public unsafe static NWParameters CreateUdp (Action<NWProtocolOptions> configureUdp = null)
|
||||
{
|
||||
|
@ -183,7 +178,6 @@ namespace Network {
|
|||
return new NWParameters (ptr, owns: true);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern nw_parameters_t nw_parameters_create ();
|
||||
|
||||
|
@ -192,7 +186,6 @@ namespace Network {
|
|||
InitializeHandle (nw_parameters_create ());
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern nw_parameters_t nw_parameters_copy (nw_parameters_t handle);
|
||||
|
||||
|
@ -201,84 +194,66 @@ namespace Network {
|
|||
return new NWParameters (nw_parameters_copy (GetCheckedHandle ()), owns: true);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
static extern void nw_parameters_set_multipath_service (nw_parameters_t parameters, NWMultiPathService multipath_service);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern NWMultiPathService nw_parameters_get_multipath_service (nw_parameters_t parameters);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWMultiPathService MultipathService {
|
||||
get => nw_parameters_get_multipath_service (GetCheckedHandle ());
|
||||
set => nw_parameters_set_multipath_service (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern IntPtr nw_parameters_copy_default_protocol_stack (nw_parameters_t parameters);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWProtocolStack ProtocolStack => new NWProtocolStack (nw_parameters_copy_default_protocol_stack (GetCheckedHandle ()), owns: true);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_set_local_only (nw_parameters_t parameters, [MarshalAs (UnmanagedType.I1)] bool local_only);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
static extern bool nw_parameters_get_local_only (nw_parameters_t parameters);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public bool LocalOnly {
|
||||
get => nw_parameters_get_local_only (GetCheckedHandle ());
|
||||
set => nw_parameters_set_local_only (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_set_prefer_no_proxy (nw_parameters_t parameters, [MarshalAs (UnmanagedType.I1)] bool prefer_no_proxy);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
static extern bool nw_parameters_get_prefer_no_proxy (nw_parameters_t parameters);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public bool PreferNoProxy {
|
||||
get => nw_parameters_get_prefer_no_proxy (GetCheckedHandle ());
|
||||
set => nw_parameters_set_prefer_no_proxy (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
static extern void nw_parameters_set_expired_dns_behavior (nw_parameters_t parameters, NWParametersExpiredDnsBehavior expired_dns_behavior);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern NWParametersExpiredDnsBehavior nw_parameters_get_expired_dns_behavior (nw_parameters_t parameters);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWParametersExpiredDnsBehavior ExpiredDnsBehavior {
|
||||
get => nw_parameters_get_expired_dns_behavior (GetCheckedHandle ());
|
||||
set => nw_parameters_set_expired_dns_behavior (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_require_interface (nw_parameters_t parameters, IntPtr handleInterface);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void RequireInterface (NWInterface iface)
|
||||
{
|
||||
nw_parameters_require_interface (GetCheckedHandle (), iface.GetHandle ());
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern IntPtr nw_parameters_copy_required_interface (nw_parameters_t parameters);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWInterface Interface {
|
||||
get {
|
||||
var iface = nw_parameters_copy_required_interface (GetCheckedHandle ());
|
||||
|
@ -290,11 +265,9 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_prohibit_interface (nw_parameters_t parameters, IntPtr handleInterface);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void ProhibitInterface (NWInterface iface)
|
||||
{
|
||||
if (iface == null)
|
||||
|
@ -303,45 +276,36 @@ namespace Network {
|
|||
nw_parameters_prohibit_interface (GetCheckedHandle (), iface.Handle);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_clear_prohibited_interfaces (nw_parameters_t parameters);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void ClearProhibitedInterfaces ()
|
||||
{
|
||||
nw_parameters_clear_prohibited_interfaces (GetCheckedHandle ());
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_set_required_interface_type (nw_parameters_t parameters, NWInterfaceType ifaceType);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern NWInterfaceType nw_parameters_get_required_interface_type (nw_parameters_t parameters);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWInterfaceType RequiredInterfaceType {
|
||||
get => nw_parameters_get_required_interface_type (GetCheckedHandle ());
|
||||
set => nw_parameters_set_required_interface_type (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_prohibit_interface_type (nw_parameters_t parameters, NWInterfaceType type);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void ProhibitInterfaceType (NWInterfaceType ifaceType)
|
||||
{
|
||||
nw_parameters_prohibit_interface_type (GetCheckedHandle (), ifaceType);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_clear_prohibited_interface_types (nw_parameters_t parameters);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void ClearProhibitedInterfaceTypes ()
|
||||
{
|
||||
nw_parameters_clear_prohibited_interface_types (GetCheckedHandle ());
|
||||
|
@ -364,11 +328,9 @@ namespace Network {
|
|||
return false;
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_iterate_prohibited_interfaces (nw_parameters_t parameters, ref BlockLiteral callback);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public void IterateProhibitedInterfaces (Func<NWInterface,bool> iterationCallback)
|
||||
{
|
||||
|
@ -395,12 +357,10 @@ namespace Network {
|
|||
return false;
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_iterate_prohibited_interface_types (IntPtr handle, ref BlockLiteral callback);
|
||||
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void IterateProhibitedInterfaces (Func<NWInterfaceType,bool> callback)
|
||||
{
|
||||
BlockLiteral block_handler = new BlockLiteral ();
|
||||
|
@ -413,74 +373,59 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
static extern bool nw_parameters_get_prohibit_expensive (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_set_prohibit_expensive (IntPtr handle, [MarshalAs (UnmanagedType.I1)] bool prohibit_expensive);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public bool ProhibitExpensive {
|
||||
get => nw_parameters_get_prohibit_expensive (GetCheckedHandle ());
|
||||
set => nw_parameters_set_prohibit_expensive (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
static extern bool nw_parameters_get_reuse_local_address (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_set_reuse_local_address (IntPtr handle, [MarshalAs (UnmanagedType.I1)] bool reuse_local_address);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public bool ReuseLocalAddress {
|
||||
get => nw_parameters_get_reuse_local_address (GetCheckedHandle ());
|
||||
set => nw_parameters_set_reuse_local_address (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
static extern bool nw_parameters_get_fast_open_enabled (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_set_fast_open_enabled (IntPtr handle, [MarshalAs (UnmanagedType.I1)] bool fast_open_enabled);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public bool FastOpenEnabled {
|
||||
get => nw_parameters_get_fast_open_enabled (GetCheckedHandle ());
|
||||
set => nw_parameters_set_fast_open_enabled (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern NWServiceClass nw_parameters_get_service_class (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_set_service_class (IntPtr handle, NWServiceClass service_class);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWServiceClass ServiceClass {
|
||||
get => nw_parameters_get_service_class (GetCheckedHandle ());
|
||||
set => nw_parameters_set_service_class (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern IntPtr nw_parameters_copy_local_endpoint (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_parameters_set_local_endpoint (IntPtr handle, IntPtr endpoint);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWEndpoint LocalEndpoint {
|
||||
get {
|
||||
var x = nw_parameters_copy_local_endpoint (GetCheckedHandle ());
|
||||
|
|
|
@ -15,48 +15,39 @@ using CoreFoundation;
|
|||
|
||||
namespace Network {
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public class NWPathMonitor : NativeObject {
|
||||
public NWPathMonitor (IntPtr handle, bool owns) : base (handle, owns) {}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static IntPtr nw_path_monitor_create ();
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWPathMonitor ()
|
||||
{
|
||||
InitializeHandle (nw_path_monitor_create ());
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static IntPtr nw_path_monitor_create_with_type (NWInterfaceType interfaceType);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWPathMonitor (NWInterfaceType interfaceType)
|
||||
{
|
||||
InitializeHandle (nw_path_monitor_create_with_type (interfaceType));
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_path_monitor_cancel (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void Cancel () => nw_path_monitor_cancel (GetCheckedHandle ());
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_path_monitor_start (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void Start () => nw_path_monitor_start (GetCheckedHandle ());
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_path_monitor_set_queue (IntPtr handle, IntPtr queue);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void SetQueue (DispatchQueue queue)
|
||||
{
|
||||
if (queue == null)
|
||||
|
|
|
@ -23,10 +23,10 @@ namespace Network {
|
|||
Version6 = 2,
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public class NWProtocolDefinition : NativeObject {
|
||||
public NWProtocolDefinition (IntPtr handle, bool owns) : base (handle, owns) {}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
static extern bool nw_protocol_definition_is_equal (OS_nw_protocol_definition definition1, OS_nw_protocol_definition definition2);
|
||||
|
@ -40,32 +40,24 @@ namespace Network {
|
|||
return nw_protocol_definition_is_equal (GetCheckedHandle (), otherDefinition.Handle);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern OS_nw_protocol_definition nw_protocol_copy_ip_definition ();
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public static NWProtocolDefinition IPDefinition => new NWProtocolDefinition (nw_protocol_copy_ip_definition (), owns: true);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern OS_nw_protocol_definition nw_protocol_copy_tcp_definition ();
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public static NWProtocolDefinition TcpDefinition => new NWProtocolDefinition (nw_protocol_copy_tcp_definition (), owns: true);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern OS_nw_protocol_definition nw_protocol_copy_udp_definition ();
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public static NWProtocolDefinition UdpDefinition => new NWProtocolDefinition (nw_protocol_copy_udp_definition (), owns: true);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern OS_nw_protocol_definition nw_protocol_copy_tls_definition ();
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public static NWProtocolDefinition TlsDefinition => new NWProtocolDefinition (nw_protocol_copy_tls_definition (), owns: true);
|
||||
|
||||
}
|
||||
|
|
|
@ -35,13 +35,12 @@ namespace Network {
|
|||
Ce = 3,
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public class NWProtocolMetadata : NativeObject {
|
||||
|
||||
#if false
|
||||
// Officially listed on header files, but seems to not work on Mac/iOS
|
||||
// https://bugreport.apple.com/web/?problemID=42443077
|
||||
//[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[TV (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern OS_nw_protocol_metadata nw_ip_create_metadata ();
|
||||
|
||||
|
@ -60,81 +59,64 @@ namespace Network {
|
|||
|
||||
public NWProtocolMetadata (IntPtr handle, bool owns) : base (handle, owns) {}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern OS_nw_protocol_definition nw_protocol_metadata_copy_definition (OS_nw_protocol_metadata metadata);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWProtocolDefinition ProtocolDefinition => new NWProtocolDefinition (nw_protocol_metadata_copy_definition (GetCheckedHandle ()), owns: true);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
static extern bool nw_protocol_metadata_is_ip (OS_nw_protocol_metadata metadata);
|
||||
|
||||
public bool IsIP => nw_protocol_metadata_is_ip (GetCheckedHandle ());
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
static extern bool nw_protocol_metadata_is_udp (OS_nw_protocol_metadata metadata);
|
||||
|
||||
public bool IsUdp => nw_protocol_metadata_is_udp (GetCheckedHandle ());
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
static extern bool nw_protocol_metadata_is_tls (OS_nw_protocol_metadata metadata);
|
||||
|
||||
public bool IsTls => nw_protocol_metadata_is_tls (GetCheckedHandle ());
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern IntPtr nw_tls_copy_sec_protocol_metadata (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public SecProtocolMetadata SecProtocolMetadata => new SecProtocolMetadata (nw_tls_copy_sec_protocol_metadata (GetCheckedHandle ()), owns: true);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_ip_metadata_set_ecn_flag (OS_nw_protocol_metadata metadata, NWIPEcnFlag ecn_flag);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern NWIPEcnFlag nw_ip_metadata_get_ecn_flag (OS_nw_protocol_metadata metadata);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWIPEcnFlag IPMetadataEcnFlag {
|
||||
get => nw_ip_metadata_get_ecn_flag (GetCheckedHandle ());
|
||||
set => nw_ip_metadata_set_ecn_flag (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_ip_metadata_set_service_class (OS_nw_protocol_metadata metadata, NWServiceClass service_class);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern NWServiceClass nw_ip_metadata_get_service_class (OS_nw_protocol_metadata metadata);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public NWServiceClass ServiceClass {
|
||||
get => nw_ip_metadata_get_service_class (GetCheckedHandle ());
|
||||
set => nw_ip_metadata_set_service_class (GetCheckedHandle (), value);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static /* uint32_t */ uint nw_tcp_get_available_receive_buffer (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public uint TcpGetAvailableReceiveBuffer () => nw_tcp_get_available_receive_buffer (GetCheckedHandle ());
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static /* uint32_t */ uint nw_tcp_get_available_send_buffer (IntPtr handle);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public uint TcpGetAvailableSendBuffer () => nw_tcp_get_available_send_buffer (GetCheckedHandle ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,40 +18,34 @@ using IntPtr=System.IntPtr;
|
|||
|
||||
namespace Network {
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public class NWProtocolOptions : NativeObject {
|
||||
public NWProtocolOptions (IntPtr handle, bool owns) : base (handle, owns) {}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern OS_nw_protocol_definition nw_protocol_options_copy_definition (IntPtr options);
|
||||
|
||||
public NWProtocolDefinition ProtocolDefinition => new NWProtocolDefinition (nw_protocol_options_copy_definition (GetCheckedHandle ()), owns: true);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern IntPtr nw_tls_create_options ();
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public static NWProtocolOptions CreateTls ()
|
||||
{
|
||||
return new NWProtocolOptions (nw_tls_create_options (), owns: true);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern IntPtr nw_tcp_create_options ();
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public static NWProtocolOptions CreateTcp ()
|
||||
{
|
||||
return new NWProtocolOptions (nw_tcp_create_options (), owns: true);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern IntPtr nw_udp_create_options ();
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public static NWProtocolOptions CreateUdp ()
|
||||
{
|
||||
return new NWProtocolOptions (nw_udp_create_options (), owns: true);
|
||||
|
@ -60,17 +54,14 @@ namespace Network {
|
|||
//
|
||||
// IP Options
|
||||
//
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_ip_options_set_version (IntPtr options, NWIPVersion version);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void IPSetVersion (NWIPVersion version)
|
||||
{
|
||||
nw_ip_options_set_version (GetCheckedHandle (), version);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_ip_options_set_hop_limit (IntPtr options, byte hop_limit);
|
||||
|
||||
|
@ -79,21 +70,17 @@ namespace Network {
|
|||
nw_ip_options_set_hop_limit (GetCheckedHandle (), hopLimit);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_ip_options_set_use_minimum_mtu (IntPtr options, [MarshalAs (UnmanagedType.I1)] bool use_minimum_mtu);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void IPSetUseMinimumMtu (bool useMinimumMtu)
|
||||
{
|
||||
nw_ip_options_set_use_minimum_mtu (GetCheckedHandle (), useMinimumMtu);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_ip_options_set_disable_fragmentation (IntPtr options, [MarshalAs (UnmanagedType.I1)] bool disable_fragmentation);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void IPSetDisableFragmentation (bool disableFragmentation)
|
||||
{
|
||||
nw_ip_options_set_disable_fragmentation (GetCheckedHandle (), disableFragmentation);
|
||||
|
@ -102,126 +89,92 @@ namespace Network {
|
|||
//
|
||||
// TCP Options
|
||||
//
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_no_delay (IntPtr handle, [MarshalAs (UnmanagedType.U1)] bool noDelay);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetNoDelay (bool noDelay) => nw_tcp_options_set_no_delay (GetCheckedHandle (), noDelay);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_no_push (IntPtr handle, [MarshalAs (UnmanagedType.U1)] bool noPush);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetNoPush (bool noPush) => nw_tcp_options_set_no_push (GetCheckedHandle (), noPush);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_no_options (IntPtr handle, [MarshalAs (UnmanagedType.U1)] bool noOptions);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetNoOptions (bool noOptions) => nw_tcp_options_set_no_options (GetCheckedHandle (), noOptions);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_enable_keepalive (IntPtr handle, [MarshalAs (UnmanagedType.U1)] bool enableKeepAlive);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetEnableKeepAlive (bool enableKeepAlive) => nw_tcp_options_set_enable_keepalive (GetCheckedHandle (), enableKeepAlive);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_keepalive_count (IntPtr handle, uint keepaliveCount);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetKeepAliveCount (uint keepaliveCount) => nw_tcp_options_set_keepalive_count (GetCheckedHandle (), keepaliveCount);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_keepalive_idle_time (IntPtr handle, uint keepaliveIdleTime);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetKeepAliveIdleTime (uint keepaliveIdleTime) => nw_tcp_options_set_keepalive_idle_time (GetCheckedHandle (), keepaliveIdleTime);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_keepalive_interval (IntPtr handle, uint keepaliveInterval);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetKeepAliveInterval (uint keepaliveInterval) => nw_tcp_options_set_keepalive_interval (GetCheckedHandle (), keepaliveInterval);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_maximum_segment_size (IntPtr handle, uint maximumSegmentSize);
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetMaximumSegmentSize (uint maximumSegmentSize) => nw_tcp_options_set_maximum_segment_size (GetCheckedHandle (), maximumSegmentSize);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_connection_timeout (IntPtr handle, uint connectionTimeout);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetConnectionTimeout (uint connectionTimeout) => nw_tcp_options_set_connection_timeout (GetCheckedHandle (), connectionTimeout);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_persist_timeout (IntPtr handle, uint persistTimeout);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetPersistTimeout (uint persistTimeout) => nw_tcp_options_set_persist_timeout (GetCheckedHandle (), persistTimeout);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_retransmit_connection_drop_time (IntPtr handle, uint retransmitConnectionDropTime);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetRetransmitConnectionDropTime (uint retransmitConnectionDropTime) => nw_tcp_options_set_retransmit_connection_drop_time (GetCheckedHandle (), retransmitConnectionDropTime);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_retransmit_fin_drop (IntPtr handle, [MarshalAs (UnmanagedType.U1)] bool retransmitFinDrop);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetRetransmitFinDrop (bool retransmitFinDrop) => nw_tcp_options_set_retransmit_fin_drop (GetCheckedHandle (), retransmitFinDrop);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_disable_ack_stretching (IntPtr handle, [MarshalAs (UnmanagedType.U1)] bool disableAckStretching);
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetDisableAckStretching (bool disableAckStretching) => nw_tcp_options_set_disable_ack_stretching (GetCheckedHandle (), disableAckStretching);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_enable_fast_open (IntPtr handle, [MarshalAs (UnmanagedType.U1)] bool enableFastOpen);
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetEnableFastOpen (bool enableFastOpen) => nw_tcp_options_set_enable_fast_open (GetCheckedHandle (), enableFastOpen);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_tcp_options_set_disable_ecn (IntPtr handle, [MarshalAs (UnmanagedType.U1)] bool disableEcn);
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void TcpSetDisableEcn (bool disableEcn) => nw_tcp_options_set_disable_ecn (GetCheckedHandle (), disableEcn);
|
||||
|
||||
//
|
||||
// UDP Options
|
||||
//
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_udp_options_set_prefer_no_checksum (IntPtr handle, [MarshalAs (UnmanagedType.U1)] bool preferNoChecksums);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void UdpSetPreferNoChecksum (bool preferNoChecksums) => nw_udp_options_set_prefer_no_checksum (GetCheckedHandle (), preferNoChecksums);
|
||||
|
||||
//
|
||||
// TLS options
|
||||
//
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static IntPtr nw_tls_copy_sec_protocol_options (IntPtr options);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public SecProtocolOptions TlsProtocolOptions => new SecProtocolOptions (nw_tls_copy_sec_protocol_options (GetCheckedHandle ()), owns: true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,14 +20,13 @@ using nw_protocol_options_t=System.IntPtr;
|
|||
|
||||
namespace Network {
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public class NWProtocolStack : NativeObject {
|
||||
public NWProtocolStack (IntPtr handle, bool owns) : base (handle, owns) {}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_protocol_stack_prepend_application_protocol (nw_protocol_stack_t stack, nw_protocol_options_t options);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
public void PrependApplicationProtocol (NWProtocolOptions options)
|
||||
{
|
||||
if (options == null)
|
||||
|
@ -35,7 +34,6 @@ namespace Network {
|
|||
nw_protocol_stack_prepend_application_protocol (GetCheckedHandle (), options.Handle);
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
static extern void nw_protocol_stack_clear_application_protocols (nw_protocol_stack_t stack);
|
||||
|
||||
|
@ -58,11 +56,9 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_protocol_stack_iterate_application_protocols (nw_protocol_stack_t stack, ref BlockLiteral completion);
|
||||
|
||||
[TV (12,0), Mac (10,14), iOS (12,0)]
|
||||
[BindingImpl (BindingImplOptions.Optimizable)]
|
||||
public void IterateProtocols (Action<NWProtocolOptions> callback)
|
||||
{
|
||||
|
@ -76,25 +72,20 @@ namespace Network {
|
|||
}
|
||||
}
|
||||
|
||||
[TV (12, 0), Mac (10, 14), iOS (12, 0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static IntPtr nw_protocol_stack_copy_transport_protocol (nw_protocol_stack_t stack);
|
||||
|
||||
[TV (12, 0), Mac (10, 14), iOS (12, 0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static void nw_protocol_stack_set_transport_protocol (nw_protocol_stack_t stack, IntPtr value);
|
||||
|
||||
[TV (12, 0), Mac (10, 14), iOS (12, 0)]
|
||||
public NWProtocolOptions TransportProtocol {
|
||||
get => new NWProtocolOptions (nw_protocol_stack_copy_transport_protocol (GetCheckedHandle ()), owns: true);
|
||||
set => nw_protocol_stack_set_transport_protocol (GetCheckedHandle (), value.GetHandle ());
|
||||
}
|
||||
|
||||
[TV (12, 0), Mac (10, 14), iOS (12, 0)]
|
||||
[DllImport (Constants.NetworkLibrary)]
|
||||
extern static IntPtr nw_protocol_stack_copy_internet_protocol (nw_protocol_stack_t stack);
|
||||
|
||||
[TV (12, 0), Mac (10, 14), iOS (12, 0)]
|
||||
public NWProtocolOptions InternetProtocol => new NWProtocolOptions (nw_protocol_stack_copy_internet_protocol (GetCheckedHandle ()), owns: true);
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче