From 151908371b562b369d929537884177bd3fedb7e5 Mon Sep 17 00:00:00 2001 From: Sharath Kumar Vatti Date: Thu, 28 Nov 2024 15:01:24 +0530 Subject: [PATCH 1/3] Fixed Frame Publish crash --- CocoaMQTT.xcodeproj/project.pbxproj | 64 +- .../Headers/MGCDAsyncSocket.h | 1226 +++++++++++++++++ .../Headers/MGCDAsyncUdpSocket.h | 1036 ++++++++++++++ .../Headers/MqttCocoaAsyncSocket.h | 18 + MqttCocoaAsyncSocket.framework/Info.plist | Bin 0 -> 809 bytes .../Modules/module.modulemap | 6 + .../MqttCocoaAsyncSocket | Bin 0 -> 330704 bytes Source/FramePublish.swift | 4 +- .../Headers/Starscream-Swift.h | 336 +++++ Starscream.framework/Headers/Starscream.h | 31 + Starscream.framework/Info.plist | Bin 0 -> 787 bytes .../Project/arm64-apple-ios.swiftsourceinfo | Bin 0 -> 55364 bytes .../arm64-apple-ios.abi.json | 9 + .../arm64-apple-ios.swiftdoc | Bin 0 -> 6300 bytes .../arm64-apple-ios.swiftmodule | Bin 0 -> 264376 bytes Starscream.framework/Modules/module.modulemap | 11 + Starscream.framework/PrivacyInfo.xcprivacy | 14 + Starscream.framework/Starscream | Bin 0 -> 732784 bytes 18 files changed, 2731 insertions(+), 24 deletions(-) create mode 100644 MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncSocket.h create mode 100644 MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncUdpSocket.h create mode 100644 MqttCocoaAsyncSocket.framework/Headers/MqttCocoaAsyncSocket.h create mode 100644 MqttCocoaAsyncSocket.framework/Info.plist create mode 100644 MqttCocoaAsyncSocket.framework/Modules/module.modulemap create mode 100755 MqttCocoaAsyncSocket.framework/MqttCocoaAsyncSocket create mode 100644 Starscream.framework/Headers/Starscream-Swift.h create mode 100644 Starscream.framework/Headers/Starscream.h create mode 100644 Starscream.framework/Info.plist create mode 100644 Starscream.framework/Modules/Starscream.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo create mode 100644 Starscream.framework/Modules/Starscream.swiftmodule/arm64-apple-ios.abi.json create mode 100644 Starscream.framework/Modules/Starscream.swiftmodule/arm64-apple-ios.swiftdoc create mode 100644 Starscream.framework/Modules/Starscream.swiftmodule/arm64-apple-ios.swiftmodule create mode 100644 Starscream.framework/Modules/module.modulemap create mode 100644 Starscream.framework/PrivacyInfo.xcprivacy create mode 100755 Starscream.framework/Starscream diff --git a/CocoaMQTT.xcodeproj/project.pbxproj b/CocoaMQTT.xcodeproj/project.pbxproj index e3f79ec1..40ea1bf5 100644 --- a/CocoaMQTT.xcodeproj/project.pbxproj +++ b/CocoaMQTT.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 52; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -59,9 +59,12 @@ 111124CE24BB516300E2DFBC /* FramePubComp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D43DE5522FAEDDA00D9A06B /* FramePubComp.swift */; }; 111124CF24BB516300E2DFBC /* CocoaMQTTTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82519C0622ACC6E100FA0815 /* CocoaMQTTTypes.swift */; }; 111124D024BB516300E2DFBC /* FrameConnect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D43DE4B22FAEB8B00D9A06B /* FrameConnect.swift */; }; - 4AB7B69128E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AB7B69028E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; - 4AB7B69428E45604003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AB7B69028E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; - 4AB7B69728E45608003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AB7B69028E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; + 354F8E2B2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2A2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework */; platformFilter = ios; }; + 354F8E2C2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2A2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework */; }; + 354F8E2D2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2A2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework */; }; + 354F8E2F2CF86EF2005BCDF9 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2E2CF86EF2005BCDF9 /* Starscream.framework */; platformFilter = ios; }; + 354F8E302CF86EF2005BCDF9 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2E2CF86EF2005BCDF9 /* Starscream.framework */; }; + 354F8E312CF86EF2005BCDF9 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2E2CF86EF2005BCDF9 /* Starscream.framework */; }; 6EC871E323A421A200F69AE8 /* CocoaMQTTSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC871E223A421A200F69AE8 /* CocoaMQTTSocket.swift */; }; 6EC871E523A421DE00F69AE8 /* CocoaMQTTWebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC871E423A421DE00F69AE8 /* CocoaMQTTWebSocket.swift */; }; 8225B53A227C2FC600E4DB51 /* CocoaMQTT.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0409977A1C1B1529006B5A6D /* CocoaMQTT.swift */; }; @@ -147,9 +150,6 @@ 92445BEC2ADFBEA4009D16AB /* ThreadSafeDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92445BEB2ADFBEA4009D16AB /* ThreadSafeDictionary.swift */; }; 92445BED2ADFBEA4009D16AB /* ThreadSafeDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92445BEB2ADFBEA4009D16AB /* ThreadSafeDictionary.swift */; }; 92445BEE2ADFBEA4009D16AB /* ThreadSafeDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92445BEB2ADFBEA4009D16AB /* ThreadSafeDictionary.swift */; }; - 929A468C27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 929A468827611DAE0046F6C5 /* Starscream.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; - 929A468D27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 929A468827611DAE0046F6C5 /* Starscream.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; - 929A468E27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 929A468827611DAE0046F6C5 /* Starscream.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -184,7 +184,8 @@ 0409977C1C1B1529006B5A6D /* CocoaMQTTMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CocoaMQTTMessage.swift; sourceTree = ""; }; 111124B224BB515E00E2DFBC /* CocoaMQTT.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaMQTT.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 111124DC24BB516400E2DFBC /* CocoaMQTT.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaMQTT.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4AB7B69028E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MqttCocoaAsyncSocket.xcframework; path = Carthage/Build/MqttCocoaAsyncSocket.xcframework; sourceTree = ""; }; + 354F8E2A2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = MqttCocoaAsyncSocket.framework; sourceTree = ""; }; + 354F8E2E2CF86EF2005BCDF9 /* Starscream.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Starscream.framework; sourceTree = ""; }; 6EC871E223A421A200F69AE8 /* CocoaMQTTSocket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CocoaMQTTSocket.swift; sourceTree = ""; }; 6EC871E423A421DE00F69AE8 /* CocoaMQTTWebSocket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CocoaMQTTWebSocket.swift; sourceTree = ""; }; 8225B4C8227B182200E4DB51 /* CocoaMQTTTimer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CocoaMQTTTimer.swift; sourceTree = ""; }; @@ -231,7 +232,6 @@ 9228E8CC27610AA400063DF2 /* MqttAuthProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MqttAuthProperties.swift; sourceTree = ""; }; 9228E8CD27610AA400063DF2 /* MqttConnectProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MqttConnectProperties.swift; sourceTree = ""; }; 92445BEB2ADFBEA4009D16AB /* ThreadSafeDictionary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThreadSafeDictionary.swift; sourceTree = ""; }; - 929A468827611DAE0046F6C5 /* Starscream.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Starscream.xcframework; path = Carthage/Build/Starscream.xcframework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -239,8 +239,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4AB7B69428E45604003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */, - 929A468D27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */, + 354F8E2C2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */, + 354F8E302CF86EF2005BCDF9 /* Starscream.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -248,8 +248,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4AB7B69728E45608003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */, - 929A468E27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */, + 354F8E2D2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */, + 354F8E312CF86EF2005BCDF9 /* Starscream.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -257,8 +257,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4AB7B69128E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */, - 929A468C27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */, + 354F8E2B2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */, + 354F8E2F2CF86EF2005BCDF9 /* Starscream.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -401,8 +401,8 @@ C68B087463924483F8568675 /* Frameworks */ = { isa = PBXGroup; children = ( - 4AB7B69028E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework */, - 929A468827611DAE0046F6C5 /* Starscream.xcframework */, + 354F8E2A2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework */, + 354F8E2E2CF86EF2005BCDF9 /* Starscream.framework */, ); name = Frameworks; sourceTree = ""; @@ -928,7 +928,10 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + ); GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -972,7 +975,10 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + ); GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1012,7 +1018,10 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + ); GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1056,7 +1065,10 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + ); GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1099,7 +1111,10 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; EXCLUDED_ARCHS = ""; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + ); GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1145,7 +1160,10 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; EXCLUDED_ARCHS = ""; - FRAMEWORK_SEARCH_PATHS = "$(inherited)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)", + ); GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; diff --git a/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncSocket.h b/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncSocket.h new file mode 100644 index 00000000..8f1699c4 --- /dev/null +++ b/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncSocket.h @@ -0,0 +1,1226 @@ +// +// MGCDAsyncSocket.h +// +// This class is in the public domain. +// Originally created by Robbie Hanson in Q3 2010. +// Updated and maintained by Deusty LLC and the Apple development community. +// +// https://github.com/robbiehanson/CocoaAsyncSocket +// + +#import +#import +#import +#import +#import + +#include // AF_INET, AF_INET6 + +@class MGCDAsyncReadPacket; +@class MGCDAsyncWritePacket; +@class MGCDAsyncSocketPreBuffer; +@protocol MGCDAsyncSocketDelegate; + +NS_ASSUME_NONNULL_BEGIN + +extern NSString *const MGCDAsyncSocketException; +extern NSString *const MGCDAsyncSocketErrorDomain; + +extern NSString *const MGCDAsyncSocketQueueName; +extern NSString *const MGCDAsyncSocketThreadName; + +extern NSString *const MGCDAsyncSocketManuallyEvaluateTrust; +#if TARGET_OS_IPHONE +extern NSString *const MGCDAsyncSocketUseCFStreamForTLS; +#endif +#define MGCDAsyncSocketSSLPeerName (NSString *)kCFStreamSSLPeerName +#define MGCDAsyncSocketSSLCertificates (NSString *)kCFStreamSSLCertificates +#define MGCDAsyncSocketSSLIsServer (NSString *)kCFStreamSSLIsServer +extern NSString *const MGCDAsyncSocketSSLPeerID; +extern NSString *const MGCDAsyncSocketSSLProtocolVersionMin; +extern NSString *const MGCDAsyncSocketSSLProtocolVersionMax; +extern NSString *const MGCDAsyncSocketSSLSessionOptionFalseStart; +extern NSString *const MGCDAsyncSocketSSLSessionOptionSendOneByteRecord; +extern NSString *const MGCDAsyncSocketSSLCipherSuites; +extern NSString *const MGCDAsyncSocketSSLALPN; +#if !TARGET_OS_IPHONE +extern NSString *const MGCDAsyncSocketSSLDiffieHellmanParameters; +#endif + +#define MGCDAsyncSocketLoggingContext 65535 + + +typedef NS_ERROR_ENUM(MGCDAsyncSocketErrorDomain, MGCDAsyncSocketError) { + MGCDAsyncSocketNoError = 0, // Never used + MGCDAsyncSocketBadConfigError, // Invalid configuration + MGCDAsyncSocketBadParamError, // Invalid parameter was passed + MGCDAsyncSocketConnectTimeoutError, // A connect operation timed out + MGCDAsyncSocketReadTimeoutError, // A read operation timed out + MGCDAsyncSocketWriteTimeoutError, // A write operation timed out + MGCDAsyncSocketReadMaxedOutError, // Reached set maxLength without completing + MGCDAsyncSocketClosedError, // The remote peer closed the connection + MGCDAsyncSocketOtherError, // Description provided in userInfo +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +@interface MGCDAsyncSocket : NSObject + +/** + * MGCDAsyncSocket uses the standard delegate paradigm, + * but executes all delegate callbacks on a given delegate dispatch queue. + * This allows for maximum concurrency, while at the same time providing easy thread safety. + * + * You MUST set a delegate AND delegate dispatch queue before attempting to + * use the socket, or you will get an error. + * + * The socket queue is optional. + * If you pass NULL, MGCDAsyncSocket will automatically create it's own socket queue. + * If you choose to provide a socket queue, the socket queue must not be a concurrent queue. + * If you choose to provide a socket queue, and the socket queue has a configured target queue, + * then please see the discussion for the method markSocketQueueTargetQueue. + * + * The delegate queue and socket queue can optionally be the same. +**/ +- (instancetype)init; +- (instancetype)initWithSocketQueue:(nullable dispatch_queue_t)sq; +- (instancetype)initWithDelegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq; +- (instancetype)initWithDelegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq socketQueue:(nullable dispatch_queue_t)sq NS_DESIGNATED_INITIALIZER; + +/** + * Create MGCDAsyncSocket from already connect BSD socket file descriptor +**/ ++ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD socketQueue:(nullable dispatch_queue_t)sq error:(NSError**)error; + ++ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD delegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq error:(NSError**)error; + ++ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD delegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq socketQueue:(nullable dispatch_queue_t)sq error:(NSError **)error; + +#pragma mark Configuration + +@property (atomic, weak, readwrite, nullable) id delegate; +#if OS_OBJECT_USE_OBJC +@property (atomic, strong, readwrite, nullable) dispatch_queue_t delegateQueue; +#else +@property (atomic, assign, readwrite, nullable) dispatch_queue_t delegateQueue; +#endif + +- (void)getDelegate:(id __nullable * __nullable)delegatePtr delegateQueue:(dispatch_queue_t __nullable * __nullable)delegateQueuePtr; +- (void)setDelegate:(nullable id)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue; + +/** + * If you are setting the delegate to nil within the delegate's dealloc method, + * you may need to use the synchronous versions below. +**/ +- (void)synchronouslySetDelegate:(nullable id)delegate; +- (void)synchronouslySetDelegateQueue:(nullable dispatch_queue_t)delegateQueue; +- (void)synchronouslySetDelegate:(nullable id)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue; + +/** + * By default, both IPv4 and IPv6 are enabled. + * + * For accepting incoming connections, this means MGCDAsyncSocket automatically supports both protocols, + * and can simulataneously accept incoming connections on either protocol. + * + * For outgoing connections, this means MGCDAsyncSocket can connect to remote hosts running either protocol. + * If a DNS lookup returns only IPv4 results, MGCDAsyncSocket will automatically use IPv4. + * If a DNS lookup returns only IPv6 results, MGCDAsyncSocket will automatically use IPv6. + * If a DNS lookup returns both IPv4 and IPv6 results, the preferred protocol will be chosen. + * By default, the preferred protocol is IPv4, but may be configured as desired. +**/ + +@property (atomic, assign, readwrite, getter=isIPv4Enabled) BOOL IPv4Enabled; +@property (atomic, assign, readwrite, getter=isIPv6Enabled) BOOL IPv6Enabled; + +@property (atomic, assign, readwrite, getter=isIPv4PreferredOverIPv6) BOOL IPv4PreferredOverIPv6; + +/** + * When connecting to both IPv4 and IPv6 using Happy Eyeballs (RFC 6555) https://tools.ietf.org/html/rfc6555 + * this is the delay between connecting to the preferred protocol and the fallback protocol. + * + * Defaults to 300ms. +**/ +@property (atomic, assign, readwrite) NSTimeInterval alternateAddressDelay; + +/** + * User data allows you to associate arbitrary information with the socket. + * This data is not used internally by socket in any way. +**/ +@property (atomic, strong, readwrite, nullable) id userData; + +#pragma mark Accepting + +/** + * Tells the socket to begin listening and accepting connections on the given port. + * When a connection is accepted, a new instance of MGCDAsyncSocket will be spawned to handle it, + * and the socket:didAcceptNewSocket: delegate method will be invoked. + * + * The socket will listen on all available interfaces (e.g. wifi, ethernet, etc) +**/ +- (BOOL)acceptOnPort:(uint16_t)port error:(NSError **)errPtr; + +/** + * This method is the same as acceptOnPort:error: with the + * additional option of specifying which interface to listen on. + * + * For example, you could specify that the socket should only accept connections over ethernet, + * and not other interfaces such as wifi. + * + * The interface may be specified by name (e.g. "en1" or "lo0") or by IP address (e.g. "192.168.4.34"). + * You may also use the special strings "localhost" or "loopback" to specify that + * the socket only accept connections from the local machine. + * + * You can see the list of interfaces via the command line utility "ifconfig", + * or programmatically via the getifaddrs() function. + * + * To accept connections on any interface pass nil, or simply use the acceptOnPort:error: method. +**/ +- (BOOL)acceptOnInterface:(nullable NSString *)interface port:(uint16_t)port error:(NSError **)errPtr; + +/** + * Tells the socket to begin listening and accepting connections on the unix domain at the given url. + * When a connection is accepted, a new instance of MGCDAsyncSocket will be spawned to handle it, + * and the socket:didAcceptNewSocket: delegate method will be invoked. + * + * The socket will listen on all available interfaces (e.g. wifi, ethernet, etc) + **/ +- (BOOL)acceptOnUrl:(NSURL *)url error:(NSError **)errPtr; + +#pragma mark Connecting + +/** + * Connects to the given host and port. + * + * This method invokes connectToHost:onPort:viaInterface:withTimeout:error: + * and uses the default interface, and no timeout. +**/ +- (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port error:(NSError **)errPtr; + +/** + * Connects to the given host and port with an optional timeout. + * + * This method invokes connectToHost:onPort:viaInterface:withTimeout:error: and uses the default interface. +**/ +- (BOOL)connectToHost:(NSString *)host + onPort:(uint16_t)port + withTimeout:(NSTimeInterval)timeout + error:(NSError **)errPtr; + +/** + * Connects to the given host & port, via the optional interface, with an optional timeout. + * + * The host may be a domain name (e.g. "deusty.com") or an IP address string (e.g. "192.168.0.2"). + * The host may also be the special strings "localhost" or "loopback" to specify connecting + * to a service on the local machine. + * + * The interface may be a name (e.g. "en1" or "lo0") or the corresponding IP address (e.g. "192.168.4.35"). + * The interface may also be used to specify the local port (see below). + * + * To not time out use a negative time interval. + * + * This method will return NO if an error is detected, and set the error pointer (if one was given). + * Possible errors would be a nil host, invalid interface, or socket is already connected. + * + * If no errors are detected, this method will start a background connect operation and immediately return YES. + * The delegate callbacks are used to notify you when the socket connects, or if the host was unreachable. + * + * Since this class supports queued reads and writes, you can immediately start reading and/or writing. + * All read/write operations will be queued, and upon socket connection, + * the operations will be dequeued and processed in order. + * + * The interface may optionally contain a port number at the end of the string, separated by a colon. + * This allows you to specify the local port that should be used for the outgoing connection. (read paragraph to end) + * To specify both interface and local port: "en1:8082" or "192.168.4.35:2424". + * To specify only local port: ":8082". + * Please note this is an advanced feature, and is somewhat hidden on purpose. + * You should understand that 99.999% of the time you should NOT specify the local port for an outgoing connection. + * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere. + * Local ports do NOT need to match remote ports. In fact, they almost never do. + * This feature is here for networking professionals using very advanced techniques. +**/ +- (BOOL)connectToHost:(NSString *)host + onPort:(uint16_t)port + viaInterface:(nullable NSString *)interface + withTimeout:(NSTimeInterval)timeout + error:(NSError **)errPtr; + +/** + * Connects to the given address, specified as a sockaddr structure wrapped in a NSData object. + * For example, a NSData object returned from NSNetService's addresses method. + * + * If you have an existing struct sockaddr you can convert it to a NSData object like so: + * struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len]; + * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; + * + * This method invokes connectToAddress:remoteAddr viaInterface:nil withTimeout:-1 error:errPtr. +**/ +- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr; + +/** + * This method is the same as connectToAddress:error: with an additional timeout option. + * To not time out use a negative time interval, or simply use the connectToAddress:error: method. +**/ +- (BOOL)connectToAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr; + +/** + * Connects to the given address, using the specified interface and timeout. + * + * The address is specified as a sockaddr structure wrapped in a NSData object. + * For example, a NSData object returned from NSNetService's addresses method. + * + * If you have an existing struct sockaddr you can convert it to a NSData object like so: + * struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len]; + * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; + * + * The interface may be a name (e.g. "en1" or "lo0") or the corresponding IP address (e.g. "192.168.4.35"). + * The interface may also be used to specify the local port (see below). + * + * The timeout is optional. To not time out use a negative time interval. + * + * This method will return NO if an error is detected, and set the error pointer (if one was given). + * Possible errors would be a nil host, invalid interface, or socket is already connected. + * + * If no errors are detected, this method will start a background connect operation and immediately return YES. + * The delegate callbacks are used to notify you when the socket connects, or if the host was unreachable. + * + * Since this class supports queued reads and writes, you can immediately start reading and/or writing. + * All read/write operations will be queued, and upon socket connection, + * the operations will be dequeued and processed in order. + * + * The interface may optionally contain a port number at the end of the string, separated by a colon. + * This allows you to specify the local port that should be used for the outgoing connection. (read paragraph to end) + * To specify both interface and local port: "en1:8082" or "192.168.4.35:2424". + * To specify only local port: ":8082". + * Please note this is an advanced feature, and is somewhat hidden on purpose. + * You should understand that 99.999% of the time you should NOT specify the local port for an outgoing connection. + * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere. + * Local ports do NOT need to match remote ports. In fact, they almost never do. + * This feature is here for networking professionals using very advanced techniques. +**/ +- (BOOL)connectToAddress:(NSData *)remoteAddr + viaInterface:(nullable NSString *)interface + withTimeout:(NSTimeInterval)timeout + error:(NSError **)errPtr; +/** + * Connects to the unix domain socket at the given url, using the specified timeout. + */ +- (BOOL)connectToUrl:(NSURL *)url withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr; + +/** + * Iterates over the given NetService's addresses in order, and invokes connectToAddress:error:. Stops at the + * first invocation that succeeds and returns YES; otherwise returns NO. + */ +- (BOOL)connectToNetService:(NSNetService *)netService error:(NSError **)errPtr; + +#pragma mark Disconnecting + +/** + * Disconnects immediately (synchronously). Any pending reads or writes are dropped. + * + * If the socket is not already disconnected, an invocation to the socketDidDisconnect:withError: delegate method + * will be queued onto the delegateQueue asynchronously (behind any previously queued delegate methods). + * In other words, the disconnected delegate method will be invoked sometime shortly after this method returns. + * + * Please note the recommended way of releasing a MGCDAsyncSocket instance (e.g. in a dealloc method) + * [asyncSocket setDelegate:nil]; + * [asyncSocket disconnect]; + * [asyncSocket release]; + * + * If you plan on disconnecting the socket, and then immediately asking it to connect again, + * you'll likely want to do so like this: + * [asyncSocket setDelegate:nil]; + * [asyncSocket disconnect]; + * [asyncSocket setDelegate:self]; + * [asyncSocket connect...]; +**/ +- (void)disconnect; + +/** + * Disconnects after all pending reads have completed. + * After calling this, the read and write methods will do nothing. + * The socket will disconnect even if there are still pending writes. +**/ +- (void)disconnectAfterReading; + +/** + * Disconnects after all pending writes have completed. + * After calling this, the read and write methods will do nothing. + * The socket will disconnect even if there are still pending reads. +**/ +- (void)disconnectAfterWriting; + +/** + * Disconnects after all pending reads and writes have completed. + * After calling this, the read and write methods will do nothing. +**/ +- (void)disconnectAfterReadingAndWriting; + +#pragma mark Diagnostics + +/** + * Returns whether the socket is disconnected or connected. + * + * A disconnected socket may be recycled. + * That is, it can be used again for connecting or listening. + * + * If a socket is in the process of connecting, it may be neither disconnected nor connected. +**/ +@property (atomic, readonly) BOOL isDisconnected; +@property (atomic, readonly) BOOL isConnected; + +/** + * Returns the local or remote host and port to which this socket is connected, or nil and 0 if not connected. + * The host will be an IP address. +**/ +@property (atomic, readonly, nullable) NSString *connectedHost; +@property (atomic, readonly) uint16_t connectedPort; +@property (atomic, readonly, nullable) NSURL *connectedUrl; + +@property (atomic, readonly, nullable) NSString *localHost; +@property (atomic, readonly) uint16_t localPort; + +/** + * Returns the local or remote address to which this socket is connected, + * specified as a sockaddr structure wrapped in a NSData object. + * + * @seealso connectedHost + * @seealso connectedPort + * @seealso localHost + * @seealso localPort +**/ +@property (atomic, readonly, nullable) NSData *connectedAddress; +@property (atomic, readonly, nullable) NSData *localAddress; + +/** + * Returns whether the socket is IPv4 or IPv6. + * An accepting socket may be both. +**/ +@property (atomic, readonly) BOOL isIPv4; +@property (atomic, readonly) BOOL isIPv6; + +/** + * Returns whether or not the socket has been secured via SSL/TLS. + * + * See also the startTLS method. +**/ +@property (atomic, readonly) BOOL isSecure; + +#pragma mark Reading + +// The readData and writeData methods won't block (they are asynchronous). +// +// When a read is complete the socket:didReadData:withTag: delegate method is dispatched on the delegateQueue. +// When a write is complete the socket:didWriteDataWithTag: delegate method is dispatched on the delegateQueue. +// +// You may optionally set a timeout for any read/write operation. (To not timeout, use a negative time interval.) +// If a read/write opertion times out, the corresponding "socket:shouldTimeout..." delegate method +// is called to optionally allow you to extend the timeout. +// Upon a timeout, the "socket:didDisconnectWithError:" method is called +// +// The tag is for your convenience. +// You can use it as an array index, step number, state id, pointer, etc. + +/** + * Reads the first available bytes that become available on the socket. + * + * If the timeout value is negative, the read operation will not use a timeout. +**/ +- (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Reads the first available bytes that become available on the socket. + * The bytes will be appended to the given byte buffer starting at the given offset. + * The given buffer will automatically be increased in size if needed. + * + * If the timeout value is negative, the read operation will not use a timeout. + * If the buffer is nil, the socket will create a buffer for you. + * + * If the bufferOffset is greater than the length of the given buffer, + * the method will do nothing, and the delegate will not be called. + * + * If you pass a buffer, you must not alter it in any way while the socket is using it. + * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer via + * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. +**/ +- (void)readDataWithTimeout:(NSTimeInterval)timeout + buffer:(nullable NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + tag:(long)tag; + +/** + * Reads the first available bytes that become available on the socket. + * The bytes will be appended to the given byte buffer starting at the given offset. + * The given buffer will automatically be increased in size if needed. + * A maximum of length bytes will be read. + * + * If the timeout value is negative, the read operation will not use a timeout. + * If the buffer is nil, a buffer will automatically be created for you. + * If maxLength is zero, no length restriction is enforced. + * + * If the bufferOffset is greater than the length of the given buffer, + * the method will do nothing, and the delegate will not be called. + * + * If you pass a buffer, you must not alter it in any way while the socket is using it. + * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer via + * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. +**/ +- (void)readDataWithTimeout:(NSTimeInterval)timeout + buffer:(nullable NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + maxLength:(NSUInteger)length + tag:(long)tag; + +/** + * Reads the given number of bytes. + * + * If the timeout value is negative, the read operation will not use a timeout. + * + * If the length is 0, this method does nothing and the delegate is not called. +**/ +- (void)readDataToLength:(NSUInteger)length withTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Reads the given number of bytes. + * The bytes will be appended to the given byte buffer starting at the given offset. + * The given buffer will automatically be increased in size if needed. + * + * If the timeout value is negative, the read operation will not use a timeout. + * If the buffer is nil, a buffer will automatically be created for you. + * + * If the length is 0, this method does nothing and the delegate is not called. + * If the bufferOffset is greater than the length of the given buffer, + * the method will do nothing, and the delegate will not be called. + * + * If you pass a buffer, you must not alter it in any way while AsyncSocket is using it. + * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer via + * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. +**/ +- (void)readDataToLength:(NSUInteger)length + withTimeout:(NSTimeInterval)timeout + buffer:(nullable NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + tag:(long)tag; + +/** + * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. + * + * If the timeout value is negative, the read operation will not use a timeout. + * + * If you pass nil or zero-length data as the "data" parameter, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * + * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. + * If you're developing your own custom protocol, be sure your separator can not occur naturally as + * part of the data between separators. + * For example, imagine you want to send several small documents over a socket. + * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. + * In this particular example, it would be better to use a protocol similar to HTTP with + * a header that includes the length of the document. + * Also be careful that your separator cannot occur naturally as part of the encoding for a character. + * + * The given data (separator) parameter should be immutable. + * For performance reasons, the socket will retain it, not copy it. + * So if it is immutable, don't modify it while the socket is using it. +**/ +- (void)readDataToData:(nullable NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. + * The bytes will be appended to the given byte buffer starting at the given offset. + * The given buffer will automatically be increased in size if needed. + * + * If the timeout value is negative, the read operation will not use a timeout. + * If the buffer is nil, a buffer will automatically be created for you. + * + * If the bufferOffset is greater than the length of the given buffer, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * + * If you pass a buffer, you must not alter it in any way while the socket is using it. + * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer via + * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. + * + * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. + * If you're developing your own custom protocol, be sure your separator can not occur naturally as + * part of the data between separators. + * For example, imagine you want to send several small documents over a socket. + * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. + * In this particular example, it would be better to use a protocol similar to HTTP with + * a header that includes the length of the document. + * Also be careful that your separator cannot occur naturally as part of the encoding for a character. + * + * The given data (separator) parameter should be immutable. + * For performance reasons, the socket will retain it, not copy it. + * So if it is immutable, don't modify it while the socket is using it. +**/ +- (void)readDataToData:(NSData *)data + withTimeout:(NSTimeInterval)timeout + buffer:(nullable NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + tag:(long)tag; + +/** + * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. + * + * If the timeout value is negative, the read operation will not use a timeout. + * + * If maxLength is zero, no length restriction is enforced. + * Otherwise if maxLength bytes are read without completing the read, + * it is treated similarly to a timeout - the socket is closed with a MGCDAsyncSocketReadMaxedOutError. + * The read will complete successfully if exactly maxLength bytes are read and the given data is found at the end. + * + * If you pass nil or zero-length data as the "data" parameter, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * If you pass a maxLength parameter that is less than the length of the data parameter, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * + * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. + * If you're developing your own custom protocol, be sure your separator can not occur naturally as + * part of the data between separators. + * For example, imagine you want to send several small documents over a socket. + * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. + * In this particular example, it would be better to use a protocol similar to HTTP with + * a header that includes the length of the document. + * Also be careful that your separator cannot occur naturally as part of the encoding for a character. + * + * The given data (separator) parameter should be immutable. + * For performance reasons, the socket will retain it, not copy it. + * So if it is immutable, don't modify it while the socket is using it. +**/ +- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout maxLength:(NSUInteger)length tag:(long)tag; + +/** + * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. + * The bytes will be appended to the given byte buffer starting at the given offset. + * The given buffer will automatically be increased in size if needed. + * + * If the timeout value is negative, the read operation will not use a timeout. + * If the buffer is nil, a buffer will automatically be created for you. + * + * If maxLength is zero, no length restriction is enforced. + * Otherwise if maxLength bytes are read without completing the read, + * it is treated similarly to a timeout - the socket is closed with a MGCDAsyncSocketReadMaxedOutError. + * The read will complete successfully if exactly maxLength bytes are read and the given data is found at the end. + * + * If you pass a maxLength parameter that is less than the length of the data (separator) parameter, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * If the bufferOffset is greater than the length of the given buffer, + * the method will do nothing (except maybe print a warning), and the delegate will not be called. + * + * If you pass a buffer, you must not alter it in any way while the socket is using it. + * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer via + * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. + * + * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. + * If you're developing your own custom protocol, be sure your separator can not occur naturally as + * part of the data between separators. + * For example, imagine you want to send several small documents over a socket. + * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. + * In this particular example, it would be better to use a protocol similar to HTTP with + * a header that includes the length of the document. + * Also be careful that your separator cannot occur naturally as part of the encoding for a character. + * + * The given data (separator) parameter should be immutable. + * For performance reasons, the socket will retain it, not copy it. + * So if it is immutable, don't modify it while the socket is using it. +**/ +- (void)readDataToData:(NSData *)data + withTimeout:(NSTimeInterval)timeout + buffer:(nullable NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + maxLength:(NSUInteger)length + tag:(long)tag; + +/** + * Returns progress of the current read, from 0.0 to 1.0, or NaN if no current read (use isnan() to check). + * The parameters "tag", "done" and "total" will be filled in if they aren't NULL. +**/ +- (float)progressOfReadReturningTag:(nullable long *)tagPtr bytesDone:(nullable NSUInteger *)donePtr total:(nullable NSUInteger *)totalPtr; + +#pragma mark Writing + +/** + * Writes data to the socket, and calls the delegate when finished. + * + * If you pass in nil or zero-length data, this method does nothing and the delegate will not be called. + * If the timeout value is negative, the write operation will not use a timeout. + * + * Thread-Safety Note: + * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while + * the socket is writing it. In other words, it's not safe to alter the data until after the delegate method + * socket:didWriteDataWithTag: is invoked signifying that this particular write operation has completed. + * This is due to the fact that MGCDAsyncSocket does NOT copy the data. It simply retains it. + * This is for performance reasons. Often times, if NSMutableData is passed, it is because + * a request/response was built up in memory. Copying this data adds an unwanted/unneeded overhead. + * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket + * completes writing the bytes (which is NOT immediately after this method returns, but rather at a later time + * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method. +**/ +- (void)writeData:(nullable NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Returns progress of the current write, from 0.0 to 1.0, or NaN if no current write (use isnan() to check). + * The parameters "tag", "done" and "total" will be filled in if they aren't NULL. +**/ +- (float)progressOfWriteReturningTag:(nullable long *)tagPtr bytesDone:(nullable NSUInteger *)donePtr total:(nullable NSUInteger *)totalPtr; + +#pragma mark Security + +/** + * Secures the connection using SSL/TLS. + * + * This method may be called at any time, and the TLS handshake will occur after all pending reads and writes + * are finished. This allows one the option of sending a protocol dependent StartTLS message, and queuing + * the upgrade to TLS at the same time, without having to wait for the write to finish. + * Any reads or writes scheduled after this method is called will occur over the secured connection. + * + * ==== The available TOP-LEVEL KEYS are: + * + * - MGCDAsyncSocketManuallyEvaluateTrust + * The value must be of type NSNumber, encapsulating a BOOL value. + * If you set this to YES, then the underlying SecureTransport system will not evaluate the SecTrustRef of the peer. + * Instead it will pause at the moment evaulation would typically occur, + * and allow us to handle the security evaluation however we see fit. + * So MGCDAsyncSocket will invoke the delegate method socket:shouldTrustPeer: passing the SecTrustRef. + * + * Note that if you set this option, then all other configuration keys are ignored. + * Evaluation will be completely up to you during the socket:didReceiveTrust:completionHandler: delegate method. + * + * For more information on trust evaluation see: + * Apple's Technical Note TN2232 - HTTPS Server Trust Evaluation + * https://developer.apple.com/library/ios/technotes/tn2232/_index.html + * + * If unspecified, the default value is NO. + * + * - MGCDAsyncSocketUseCFStreamForTLS (iOS only) + * The value must be of type NSNumber, encapsulating a BOOL value. + * By default MGCDAsyncSocket will use the SecureTransport layer to perform encryption. + * This gives us more control over the security protocol (many more configuration options), + * plus it allows us to optimize things like sys calls and buffer allocation. + * + * However, if you absolutely must, you can instruct MGCDAsyncSocket to use the old-fashioned encryption + * technique by going through the CFStream instead. So instead of using SecureTransport, MGCDAsyncSocket + * will instead setup a CFRead/CFWriteStream. And then set the kCFStreamPropertySSLSettings property + * (via CFReadStreamSetProperty / CFWriteStreamSetProperty) and will pass the given options to this method. + * + * Thus all the other keys in the given dictionary will be ignored by MGCDAsyncSocket, + * and will passed directly CFReadStreamSetProperty / CFWriteStreamSetProperty. + * For more infomation on these keys, please see the documentation for kCFStreamPropertySSLSettings. + * + * If unspecified, the default value is NO. + * + * ==== The available CONFIGURATION KEYS are: + * + * - kCFStreamSSLPeerName + * The value must be of type NSString. + * It should match the name in the X.509 certificate given by the remote party. + * See Apple's documentation for SSLSetPeerDomainName. + * + * - kCFStreamSSLCertificates + * The value must be of type NSArray. + * See Apple's documentation for SSLSetCertificate. + * + * - kCFStreamSSLIsServer + * The value must be of type NSNumber, encapsulationg a BOOL value. + * See Apple's documentation for SSLCreateContext for iOS. + * This is optional for iOS. If not supplied, a NO value is the default. + * This is not needed for Mac OS X, and the value is ignored. + * + * - MGCDAsyncSocketSSLPeerID + * The value must be of type NSData. + * You must set this value if you want to use TLS session resumption. + * See Apple's documentation for SSLSetPeerID. + * + * - MGCDAsyncSocketSSLProtocolVersionMin + * - MGCDAsyncSocketSSLProtocolVersionMax + * The value(s) must be of type NSNumber, encapsulting a SSLProtocol value. + * See Apple's documentation for SSLSetProtocolVersionMin & SSLSetProtocolVersionMax. + * See also the SSLProtocol typedef. + * + * - MGCDAsyncSocketSSLSessionOptionFalseStart + * The value must be of type NSNumber, encapsulating a BOOL value. + * See Apple's documentation for kSSLSessionOptionFalseStart. + * + * - MGCDAsyncSocketSSLSessionOptionSendOneByteRecord + * The value must be of type NSNumber, encapsulating a BOOL value. + * See Apple's documentation for kSSLSessionOptionSendOneByteRecord. + * + * - MGCDAsyncSocketSSLCipherSuites + * The values must be of type NSArray. + * Each item within the array must be a NSNumber, encapsulating an SSLCipherSuite. + * See Apple's documentation for SSLSetEnabledCiphers. + * See also the SSLCipherSuite typedef. + * + * - MGCDAsyncSocketSSLDiffieHellmanParameters (Mac OS X only) + * The value must be of type NSData. + * See Apple's documentation for SSLSetDiffieHellmanParams. + * + * ==== The following UNAVAILABLE KEYS are: (with throw an exception) + * + * - kCFStreamSSLAllowsAnyRoot (UNAVAILABLE) + * You MUST use manual trust evaluation instead (see MGCDAsyncSocketManuallyEvaluateTrust). + * Corresponding deprecated method: SSLSetAllowsAnyRoot + * + * - kCFStreamSSLAllowsExpiredRoots (UNAVAILABLE) + * You MUST use manual trust evaluation instead (see MGCDAsyncSocketManuallyEvaluateTrust). + * Corresponding deprecated method: SSLSetAllowsExpiredRoots + * + * - kCFStreamSSLAllowsExpiredCertificates (UNAVAILABLE) + * You MUST use manual trust evaluation instead (see MGCDAsyncSocketManuallyEvaluateTrust). + * Corresponding deprecated method: SSLSetAllowsExpiredCerts + * + * - kCFStreamSSLValidatesCertificateChain (UNAVAILABLE) + * You MUST use manual trust evaluation instead (see MGCDAsyncSocketManuallyEvaluateTrust). + * Corresponding deprecated method: SSLSetEnableCertVerify + * + * - kCFStreamSSLLevel (UNAVAILABLE) + * You MUST use MGCDAsyncSocketSSLProtocolVersionMin & MGCDAsyncSocketSSLProtocolVersionMin instead. + * Corresponding deprecated method: SSLSetProtocolVersionEnabled + * + * + * Please refer to Apple's documentation for corresponding SSLFunctions. + * + * If you pass in nil or an empty dictionary, the default settings will be used. + * + * IMPORTANT SECURITY NOTE: + * The default settings will check to make sure the remote party's certificate is signed by a + * trusted 3rd party certificate agency (e.g. verisign) and that the certificate is not expired. + * However it will not verify the name on the certificate unless you + * give it a name to verify against via the kCFStreamSSLPeerName key. + * The security implications of this are important to understand. + * Imagine you are attempting to create a secure connection to MySecureServer.com, + * but your socket gets directed to MaliciousServer.com because of a hacked DNS server. + * If you simply use the default settings, and MaliciousServer.com has a valid certificate, + * the default settings will not detect any problems since the certificate is valid. + * To properly secure your connection in this particular scenario you + * should set the kCFStreamSSLPeerName property to "MySecureServer.com". + * + * You can also perform additional validation in socketDidSecure. +**/ +- (void)startTLS:(nullable NSDictionary *)tlsSettings; + +#pragma mark Advanced + +/** + * Traditionally sockets are not closed until the conversation is over. + * However, it is technically possible for the remote enpoint to close its write stream. + * Our socket would then be notified that there is no more data to be read, + * but our socket would still be writeable and the remote endpoint could continue to receive our data. + * + * The argument for this confusing functionality stems from the idea that a client could shut down its + * write stream after sending a request to the server, thus notifying the server there are to be no further requests. + * In practice, however, this technique did little to help server developers. + * + * To make matters worse, from a TCP perspective there is no way to tell the difference from a read stream close + * and a full socket close. They both result in the TCP stack receiving a FIN packet. The only way to tell + * is by continuing to write to the socket. If it was only a read stream close, then writes will continue to work. + * Otherwise an error will be occur shortly (when the remote end sends us a RST packet). + * + * In addition to the technical challenges and confusion, many high level socket/stream API's provide + * no support for dealing with the problem. If the read stream is closed, the API immediately declares the + * socket to be closed, and shuts down the write stream as well. In fact, this is what Apple's CFStream API does. + * It might sound like poor design at first, but in fact it simplifies development. + * + * The vast majority of the time if the read stream is closed it's because the remote endpoint closed its socket. + * Thus it actually makes sense to close the socket at this point. + * And in fact this is what most networking developers want and expect to happen. + * However, if you are writing a server that interacts with a plethora of clients, + * you might encounter a client that uses the discouraged technique of shutting down its write stream. + * If this is the case, you can set this property to NO, + * and make use of the socketDidCloseReadStream delegate method. + * + * The default value is YES. +**/ +@property (atomic, assign, readwrite) BOOL autoDisconnectOnClosedReadStream; + +/** + * MGCDAsyncSocket maintains thread safety by using an internal serial dispatch_queue. + * In most cases, the instance creates this queue itself. + * However, to allow for maximum flexibility, the internal queue may be passed in the init method. + * This allows for some advanced options such as controlling socket priority via target queues. + * However, when one begins to use target queues like this, they open the door to some specific deadlock issues. + * + * For example, imagine there are 2 queues: + * dispatch_queue_t socketQueue; + * dispatch_queue_t socketTargetQueue; + * + * If you do this (pseudo-code): + * socketQueue.targetQueue = socketTargetQueue; + * + * Then all socketQueue operations will actually get run on the given socketTargetQueue. + * This is fine and works great in most situations. + * But if you run code directly from within the socketTargetQueue that accesses the socket, + * you could potentially get deadlock. Imagine the following code: + * + * - (BOOL)socketHasSomething + * { + * __block BOOL result = NO; + * dispatch_block_t block = ^{ + * result = [self someInternalMethodToBeRunOnlyOnSocketQueue]; + * } + * if (is_executing_on_queue(socketQueue)) + * block(); + * else + * dispatch_sync(socketQueue, block); + * + * return result; + * } + * + * What happens if you call this method from the socketTargetQueue? The result is deadlock. + * This is because the MGCD API offers no mechanism to discover a queue's targetQueue. + * Thus we have no idea if our socketQueue is configured with a targetQueue. + * If we had this information, we could easily avoid deadlock. + * But, since these API's are missing or unfeasible, you'll have to explicitly set it. + * + * IF you pass a socketQueue via the init method, + * AND you've configured the passed socketQueue with a targetQueue, + * THEN you should pass the end queue in the target hierarchy. + * + * For example, consider the following queue hierarchy: + * socketQueue -> ipQueue -> moduleQueue + * + * This example demonstrates priority shaping within some server. + * All incoming client connections from the same IP address are executed on the same target queue. + * And all connections for a particular module are executed on the same target queue. + * Thus, the priority of all networking for the entire module can be changed on the fly. + * Additionally, networking traffic from a single IP cannot monopolize the module. + * + * Here's how you would accomplish something like that: + * - (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(MGCDAsyncSocket *)sock + * { + * dispatch_queue_t socketQueue = dispatch_queue_create("", NULL); + * dispatch_queue_t ipQueue = [self ipQueueForAddress:address]; + * + * dispatch_set_target_queue(socketQueue, ipQueue); + * dispatch_set_target_queue(iqQueue, moduleQueue); + * + * return socketQueue; + * } + * - (void)socket:(MGCDAsyncSocket *)sock didAcceptNewSocket:(MGCDAsyncSocket *)newSocket + * { + * [clientConnections addObject:newSocket]; + * [newSocket markSocketQueueTargetQueue:moduleQueue]; + * } + * + * Note: This workaround is ONLY needed if you intend to execute code directly on the ipQueue or moduleQueue. + * This is often NOT the case, as such queues are used solely for execution shaping. +**/ +- (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreConfiguredTargetQueue; +- (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreviouslyConfiguredTargetQueue; + +/** + * It's not thread-safe to access certain variables from outside the socket's internal queue. + * + * For example, the socket file descriptor. + * File descriptors are simply integers which reference an index in the per-process file table. + * However, when one requests a new file descriptor (by opening a file or socket), + * the file descriptor returned is guaranteed to be the lowest numbered unused descriptor. + * So if we're not careful, the following could be possible: + * + * - Thread A invokes a method which returns the socket's file descriptor. + * - The socket is closed via the socket's internal queue on thread B. + * - Thread C opens a file, and subsequently receives the file descriptor that was previously the socket's FD. + * - Thread A is now accessing/altering the file instead of the socket. + * + * In addition to this, other variables are not actually objects, + * and thus cannot be retained/released or even autoreleased. + * An example is the sslContext, of type SSLContextRef, which is actually a malloc'd struct. + * + * Although there are internal variables that make it difficult to maintain thread-safety, + * it is important to provide access to these variables + * to ensure this class can be used in a wide array of environments. + * This method helps to accomplish this by invoking the current block on the socket's internal queue. + * The methods below can be invoked from within the block to access + * those generally thread-unsafe internal variables in a thread-safe manner. + * The given block will be invoked synchronously on the socket's internal queue. + * + * If you save references to any protected variables and use them outside the block, you do so at your own peril. +**/ +- (void)performBlock:(dispatch_block_t)block; + +/** + * These methods are only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Provides access to the socket's file descriptor(s). + * If the socket is a server socket (is accepting incoming connections), + * it might actually have multiple internal socket file descriptors - one for IPv4 and one for IPv6. +**/ +- (int)socketFD; +- (int)socket4FD; +- (int)socket6FD; + +#if TARGET_OS_IPHONE + +/** + * These methods are only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Provides access to the socket's internal CFReadStream/CFWriteStream. + * + * These streams are only used as workarounds for specific iOS shortcomings: + * + * - Apple has decided to keep the SecureTransport framework private is iOS. + * This means the only supplied way to do SSL/TLS is via CFStream or some other API layered on top of it. + * Thus, in order to provide SSL/TLS support on iOS we are forced to rely on CFStream, + * instead of the preferred and faster and more powerful SecureTransport. + * + * - If a socket doesn't have backgrounding enabled, and that socket is closed while the app is backgrounded, + * Apple only bothers to notify us via the CFStream API. + * The faster and more powerful MGCD API isn't notified properly in this case. + * + * See also: (BOOL)enableBackgroundingOnSocket +**/ +- (nullable CFReadStreamRef)readStream; +- (nullable CFWriteStreamRef)writeStream; + +/** + * This method is only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Configures the socket to allow it to operate when the iOS application has been backgrounded. + * In other words, this method creates a read & write stream, and invokes: + * + * CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeBackground); + * CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeBackground); + * + * Returns YES if successful, NO otherwise. + * + * Note: Apple does not officially support backgrounding server sockets. + * That is, if your socket is accepting incoming connections, Apple does not officially support + * allowing iOS applications to accept incoming connections while an app is backgrounded. + * + * Example usage: + * + * - (void)socket:(MGCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port + * { + * [asyncSocket performBlock:^{ + * [asyncSocket enableBackgroundingOnSocket]; + * }]; + * } +**/ +- (BOOL)enableBackgroundingOnSocket; + +#endif + +/** + * This method is only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Provides access to the socket's SSLContext, if SSL/TLS has been started on the socket. +**/ +- (nullable SSLContextRef)sslContext; + +#pragma mark Utilities + +/** + * The address lookup utility used by the class. + * This method is synchronous, so it's recommended you use it on a background thread/queue. + * + * The special strings "localhost" and "loopback" return the loopback address for IPv4 and IPv6. + * + * @returns + * A mutable array with all IPv4 and IPv6 addresses returned by getaddrinfo. + * The addresses are specifically for TCP connections. + * You can filter the addresses, if needed, using the other utility methods provided by the class. +**/ ++ (nullable NSMutableArray *)lookupHost:(NSString *)host port:(uint16_t)port error:(NSError **)errPtr; + +/** + * Extracting host and port information from raw address data. +**/ + ++ (nullable NSString *)hostFromAddress:(NSData *)address; ++ (uint16_t)portFromAddress:(NSData *)address; + ++ (BOOL)isIPv4Address:(NSData *)address; ++ (BOOL)isIPv6Address:(NSData *)address; + ++ (BOOL)getHost:( NSString * __nullable * __nullable)hostPtr port:(nullable uint16_t *)portPtr fromAddress:(NSData *)address; + ++ (BOOL)getHost:(NSString * __nullable * __nullable)hostPtr port:(nullable uint16_t *)portPtr family:(nullable sa_family_t *)afPtr fromAddress:(NSData *)address; + +/** + * A few common line separators, for use with the readDataToData:... methods. +**/ ++ (NSData *)CRLFData; // 0x0D0A ++ (NSData *)CRData; // 0x0D ++ (NSData *)LFData; // 0x0A ++ (NSData *)ZeroData; // 0x00 + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@protocol MGCDAsyncSocketDelegate +@optional + +/** + * This method is called immediately prior to socket:didAcceptNewSocket:. + * It optionally allows a listening socket to specify the socketQueue for a new accepted socket. + * If this method is not implemented, or returns NULL, the new accepted socket will create its own default queue. + * + * Since you cannot autorelease a dispatch_queue, + * this method uses the "new" prefix in its name to specify that the returned queue has been retained. + * + * Thus you could do something like this in the implementation: + * return dispatch_queue_create("MyQueue", NULL); + * + * If you are placing multiple sockets on the same queue, + * then care should be taken to increment the retain count each time this method is invoked. + * + * For example, your implementation might look something like this: + * dispatch_retain(myExistingQueue); + * return myExistingQueue; +**/ +- (nullable dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(MGCDAsyncSocket *)sock; + +/** + * Called when a socket accepts a connection. + * Another socket is automatically spawned to handle it. + * + * You must retain the newSocket if you wish to handle the connection. + * Otherwise the newSocket instance will be released and the spawned connection will be closed. + * + * By default the new socket will have the same delegate and delegateQueue. + * You may, of course, change this at any time. +**/ +- (void)socket:(MGCDAsyncSocket *)sock didAcceptNewSocket:(MGCDAsyncSocket *)newSocket; + +/** + * Called when a socket connects and is ready for reading and writing. + * The host parameter will be an IP address, not a DNS name. +**/ +- (void)socket:(MGCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port; + +/** + * Called when a socket connects and is ready for reading and writing. + * The host parameter will be an IP address, not a DNS name. + **/ +- (void)socket:(MGCDAsyncSocket *)sock didConnectToUrl:(NSURL *)url; + +/** + * Called when a socket has completed reading the requested data into memory. + * Not called if there is an error. +**/ +- (void)socket:(MGCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag; + +/** + * Called when a socket has read in data, but has not yet completed the read. + * This would occur if using readToData: or readToLength: methods. + * It may be used for things such as updating progress bars. +**/ +- (void)socket:(MGCDAsyncSocket *)sock didReadPartialDataOfLength:(NSUInteger)partialLength tag:(long)tag; + +/** + * Called when a socket has completed writing the requested data. Not called if there is an error. +**/ +- (void)socket:(MGCDAsyncSocket *)sock didWriteDataWithTag:(long)tag; + +/** + * Called when a socket has written some data, but has not yet completed the entire write. + * It may be used for things such as updating progress bars. +**/ +- (void)socket:(MGCDAsyncSocket *)sock didWritePartialDataOfLength:(NSUInteger)partialLength tag:(long)tag; + +/** + * Called if a read operation has reached its timeout without completing. + * This method allows you to optionally extend the timeout. + * If you return a positive time interval (> 0) the read's timeout will be extended by the given amount. + * If you don't implement this method, or return a non-positive time interval (<= 0) the read will timeout as usual. + * + * The elapsed parameter is the sum of the original timeout, plus any additions previously added via this method. + * The length parameter is the number of bytes that have been read so far for the read operation. + * + * Note that this method may be called multiple times for a single read if you return positive numbers. +**/ +- (NSTimeInterval)socket:(MGCDAsyncSocket *)sock shouldTimeoutReadWithTag:(long)tag + elapsed:(NSTimeInterval)elapsed + bytesDone:(NSUInteger)length; + +/** + * Called if a write operation has reached its timeout without completing. + * This method allows you to optionally extend the timeout. + * If you return a positive time interval (> 0) the write's timeout will be extended by the given amount. + * If you don't implement this method, or return a non-positive time interval (<= 0) the write will timeout as usual. + * + * The elapsed parameter is the sum of the original timeout, plus any additions previously added via this method. + * The length parameter is the number of bytes that have been written so far for the write operation. + * + * Note that this method may be called multiple times for a single write if you return positive numbers. +**/ +- (NSTimeInterval)socket:(MGCDAsyncSocket *)sock shouldTimeoutWriteWithTag:(long)tag + elapsed:(NSTimeInterval)elapsed + bytesDone:(NSUInteger)length; + +/** + * Conditionally called if the read stream closes, but the write stream may still be writeable. + * + * This delegate method is only called if autoDisconnectOnClosedReadStream has been set to NO. + * See the discussion on the autoDisconnectOnClosedReadStream method for more information. +**/ +- (void)socketDidCloseReadStream:(MGCDAsyncSocket *)sock; + +/** + * Called when a socket disconnects with or without error. + * + * If you call the disconnect method, and the socket wasn't already disconnected, + * then an invocation of this delegate method will be enqueued on the delegateQueue + * before the disconnect method returns. + * + * Note: If the MGCDAsyncSocket instance is deallocated while it is still connected, + * and the delegate is not also deallocated, then this method will be invoked, + * but the sock parameter will be nil. (It must necessarily be nil since it is no longer available.) + * This is a generally rare, but is possible if one writes code like this: + * + * asyncSocket = nil; // I'm implicitly disconnecting the socket + * + * In this case it may preferrable to nil the delegate beforehand, like this: + * + * asyncSocket.delegate = nil; // Don't invoke my delegate method + * asyncSocket = nil; // I'm implicitly disconnecting the socket + * + * Of course, this depends on how your state machine is configured. +**/ +- (void)socketDidDisconnect:(MGCDAsyncSocket *)sock withError:(nullable NSError *)err; + +/** + * Called after the socket has successfully completed SSL/TLS negotiation. + * This method is not called unless you use the provided startTLS method. + * + * If a SSL/TLS negotiation fails (invalid certificate, etc) then the socket will immediately close, + * and the socketDidDisconnect:withError: delegate method will be called with the specific SSL error code. +**/ +- (void)socketDidSecure:(MGCDAsyncSocket *)sock; + +/** + * Allows a socket delegate to hook into the TLS handshake and manually validate the peer it's connecting to. + * + * This is only called if startTLS is invoked with options that include: + * - MGCDAsyncSocketManuallyEvaluateTrust == YES + * + * Typically the delegate will use SecTrustEvaluate (and related functions) to properly validate the peer. + * + * Note from Apple's documentation: + * Because [SecTrustEvaluate] might look on the network for certificates in the certificate chain, + * [it] might block while attempting network access. You should never call it from your main thread; + * call it only from within a function running on a dispatch queue or on a separate thread. + * + * Thus this method uses a completionHandler block rather than a normal return value. + * The completionHandler block is thread-safe, and may be invoked from a background queue/thread. + * It is safe to invoke the completionHandler block even if the socket has been closed. +**/ +- (void)socket:(MGCDAsyncSocket *)sock didReceiveTrust:(SecTrustRef)trust + completionHandler:(void (^)(BOOL shouldTrustPeer))completionHandler; + +@end +NS_ASSUME_NONNULL_END diff --git a/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncUdpSocket.h b/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncUdpSocket.h new file mode 100644 index 00000000..99fa715f --- /dev/null +++ b/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncUdpSocket.h @@ -0,0 +1,1036 @@ +// +// MGCDAsyncUdpSocket +// +// This class is in the public domain. +// Originally created by Robbie Hanson of Deusty LLC. +// Updated and maintained by Deusty LLC and the Apple development community. +// +// https://github.com/robbiehanson/CocoaAsyncSocket +// + +#import +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN +extern NSString *const MGCDAsyncUdpSocketException; +extern NSString *const MGCDAsyncUdpSocketErrorDomain; + +extern NSString *const MGCDAsyncUdpSocketQueueName; +extern NSString *const MGCDAsyncUdpSocketThreadName; + +typedef NS_ERROR_ENUM(MGCDAsyncUdpSocketErrorDomain, MGCDAsyncUdpSocketError) { + MGCDAsyncUdpSocketNoError = 0, // Never used + MGCDAsyncUdpSocketBadConfigError, // Invalid configuration + MGCDAsyncUdpSocketBadParamError, // Invalid parameter was passed + MGCDAsyncUdpSocketSendTimeoutError, // A send operation timed out + MGCDAsyncUdpSocketClosedError, // The socket was closed + MGCDAsyncUdpSocketOtherError, // Description provided in userInfo +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@class MGCDAsyncUdpSocket; + +@protocol MGCDAsyncUdpSocketDelegate +@optional + +/** + * By design, UDP is a connectionless protocol, and connecting is not needed. + * However, you may optionally choose to connect to a particular host for reasons + * outlined in the documentation for the various connect methods listed above. + * + * This method is called if one of the connect methods are invoked, and the connection is successful. +**/ +- (void)udpSocket:(MGCDAsyncUdpSocket *)sock didConnectToAddress:(NSData *)address; + +/** + * By design, UDP is a connectionless protocol, and connecting is not needed. + * However, you may optionally choose to connect to a particular host for reasons + * outlined in the documentation for the various connect methods listed above. + * + * This method is called if one of the connect methods are invoked, and the connection fails. + * This may happen, for example, if a domain name is given for the host and the domain name is unable to be resolved. +**/ +- (void)udpSocket:(MGCDAsyncUdpSocket *)sock didNotConnect:(NSError * _Nullable)error; + +/** + * Called when the datagram with the given tag has been sent. +**/ +- (void)udpSocket:(MGCDAsyncUdpSocket *)sock didSendDataWithTag:(long)tag; + +/** + * Called if an error occurs while trying to send a datagram. + * This could be due to a timeout, or something more serious such as the data being too large to fit in a sigle packet. +**/ +- (void)udpSocket:(MGCDAsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError * _Nullable)error; + +/** + * Called when the socket has received the requested datagram. +**/ +- (void)udpSocket:(MGCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data + fromAddress:(NSData *)address + withFilterContext:(nullable id)filterContext; + +/** + * Called when the socket is closed. +**/ +- (void)udpSocketDidClose:(MGCDAsyncUdpSocket *)sock withError:(NSError * _Nullable)error; + +@end + +/** + * You may optionally set a receive filter for the socket. + * A filter can provide several useful features: + * + * 1. Many times udp packets need to be parsed. + * Since the filter can run in its own independent queue, you can parallelize this parsing quite easily. + * The end result is a parallel socket io, datagram parsing, and packet processing. + * + * 2. Many times udp packets are discarded because they are duplicate/unneeded/unsolicited. + * The filter can prevent such packets from arriving at the delegate. + * And because the filter can run in its own independent queue, this doesn't slow down the delegate. + * + * - Since the udp protocol does not guarantee delivery, udp packets may be lost. + * Many protocols built atop udp thus provide various resend/re-request algorithms. + * This sometimes results in duplicate packets arriving. + * A filter may allow you to architect the duplicate detection code to run in parallel to normal processing. + * + * - Since the udp socket may be connectionless, its possible for unsolicited packets to arrive. + * Such packets need to be ignored. + * + * 3. Sometimes traffic shapers are needed to simulate real world environments. + * A filter allows you to write custom code to simulate such environments. + * The ability to code this yourself is especially helpful when your simulated environment + * is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router), + * or the system tools to handle this aren't available (e.g. on a mobile device). + * + * @param data - The packet that was received. + * @param address - The address the data was received from. + * See utilities section for methods to extract info from address. + * @param context - Out parameter you may optionally set, which will then be passed to the delegate method. + * For example, filter block can parse the data and then, + * pass the parsed data to the delegate. + * + * @returns - YES if the received packet should be passed onto the delegate. + * NO if the received packet should be discarded, and not reported to the delegete. + * + * Example: + * + * MGCDAsyncUdpSocketReceiveFilterBlock filter = ^BOOL (NSData *data, NSData *address, id *context) { + * + * MyProtocolMessage *msg = [MyProtocol parseMessage:data]; + * + * *context = response; + * return (response != nil); + * }; + * [udpSocket setReceiveFilter:filter withQueue:myParsingQueue]; + * +**/ +typedef BOOL (^MGCDAsyncUdpSocketReceiveFilterBlock)(NSData *data, NSData *address, id __nullable * __nonnull context); + +/** + * You may optionally set a send filter for the socket. + * A filter can provide several interesting possibilities: + * + * 1. Optional caching of resolved addresses for domain names. + * The cache could later be consulted, resulting in fewer system calls to getaddrinfo. + * + * 2. Reusable modules of code for bandwidth monitoring. + * + * 3. Sometimes traffic shapers are needed to simulate real world environments. + * A filter allows you to write custom code to simulate such environments. + * The ability to code this yourself is especially helpful when your simulated environment + * is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router), + * or the system tools to handle this aren't available (e.g. on a mobile device). + * + * @param data - The packet that was received. + * @param address - The address the data was received from. + * See utilities section for methods to extract info from address. + * @param tag - The tag that was passed in the send method. + * + * @returns - YES if the packet should actually be sent over the socket. + * NO if the packet should be silently dropped (not sent over the socket). + * + * Regardless of the return value, the delegate will be informed that the packet was successfully sent. + * +**/ +typedef BOOL (^MGCDAsyncUdpSocketSendFilterBlock)(NSData *data, NSData *address, long tag); + + +@interface MGCDAsyncUdpSocket : NSObject + +/** + * MGCDAsyncUdpSocket uses the standard delegate paradigm, + * but executes all delegate callbacks on a given delegate dispatch queue. + * This allows for maximum concurrency, while at the same time providing easy thread safety. + * + * You MUST set a delegate AND delegate dispatch queue before attempting to + * use the socket, or you will get an error. + * + * The socket queue is optional. + * If you pass NULL, MGCDAsyncSocket will automatically create its own socket queue. + * If you choose to provide a socket queue, the socket queue must not be a concurrent queue, + * then please see the discussion for the method markSocketQueueTargetQueue. + * + * The delegate queue and socket queue can optionally be the same. +**/ +- (instancetype)init; +- (instancetype)initWithSocketQueue:(nullable dispatch_queue_t)sq; +- (instancetype)initWithDelegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq; +- (instancetype)initWithDelegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq socketQueue:(nullable dispatch_queue_t)sq NS_DESIGNATED_INITIALIZER; + +#pragma mark Configuration + +- (nullable id)delegate; +- (void)setDelegate:(nullable id)delegate; +- (void)synchronouslySetDelegate:(nullable id)delegate; + +- (nullable dispatch_queue_t)delegateQueue; +- (void)setDelegateQueue:(nullable dispatch_queue_t)delegateQueue; +- (void)synchronouslySetDelegateQueue:(nullable dispatch_queue_t)delegateQueue; + +- (void)getDelegate:(id __nullable * __nullable)delegatePtr delegateQueue:(dispatch_queue_t __nullable * __nullable)delegateQueuePtr; +- (void)setDelegate:(nullable id)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue; +- (void)synchronouslySetDelegate:(nullable id)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue; + +/** + * By default, both IPv4 and IPv6 are enabled. + * + * This means MGCDAsyncUdpSocket automatically supports both protocols, + * and can send to IPv4 or IPv6 addresses, + * as well as receive over IPv4 and IPv6. + * + * For operations that require DNS resolution, MGCDAsyncUdpSocket supports both IPv4 and IPv6. + * If a DNS lookup returns only IPv4 results, MGCDAsyncUdpSocket will automatically use IPv4. + * If a DNS lookup returns only IPv6 results, MGCDAsyncUdpSocket will automatically use IPv6. + * If a DNS lookup returns both IPv4 and IPv6 results, then the protocol used depends on the configured preference. + * If IPv4 is preferred, then IPv4 is used. + * If IPv6 is preferred, then IPv6 is used. + * If neutral, then the first IP version in the resolved array will be used. + * + * Starting with Mac OS X 10.7 Lion and iOS 5, the default IP preference is neutral. + * On prior systems the default IP preference is IPv4. + **/ +- (BOOL)isIPv4Enabled; +- (void)setIPv4Enabled:(BOOL)flag; + +- (BOOL)isIPv6Enabled; +- (void)setIPv6Enabled:(BOOL)flag; + +- (BOOL)isIPv4Preferred; +- (BOOL)isIPv6Preferred; +- (BOOL)isIPVersionNeutral; + +- (void)setPreferIPv4; +- (void)setPreferIPv6; +- (void)setIPVersionNeutral; + +/** + * Gets/Sets the maximum size of the buffer that will be allocated for receive operations. + * The default maximum size is 65535 bytes. + * + * The theoretical maximum size of any IPv4 UDP packet is UINT16_MAX = 65535. + * The theoretical maximum size of any IPv6 UDP packet is UINT32_MAX = 4294967295. + * + * Since the OS/MGCD notifies us of the size of each received UDP packet, + * the actual allocated buffer size for each packet is exact. + * And in practice the size of UDP packets is generally much smaller than the max. + * Indeed most protocols will send and receive packets of only a few bytes, + * or will set a limit on the size of packets to prevent fragmentation in the IP layer. + * + * If you set the buffer size too small, the sockets API in the OS will silently discard + * any extra data, and you will not be notified of the error. +**/ +- (uint16_t)maxReceiveIPv4BufferSize; +- (void)setMaxReceiveIPv4BufferSize:(uint16_t)max; + +- (uint32_t)maxReceiveIPv6BufferSize; +- (void)setMaxReceiveIPv6BufferSize:(uint32_t)max; + +/** + * Gets/Sets the maximum size of the buffer that will be allocated for send operations. + * The default maximum size is 65535 bytes. + * + * Given that a typical link MTU is 1500 bytes, a large UDP datagram will have to be + * fragmented, and that’s both expensive and risky (if one fragment goes missing, the + * entire datagram is lost). You are much better off sending a large number of smaller + * UDP datagrams, preferably using a path MTU algorithm to avoid fragmentation. + * + * You must set it before the sockt is created otherwise it won't work. + * + **/ +- (uint16_t)maxSendBufferSize; +- (void)setMaxSendBufferSize:(uint16_t)max; + +/** + * User data allows you to associate arbitrary information with the socket. + * This data is not used internally in any way. +**/ +- (nullable id)userData; +- (void)setUserData:(nullable id)arbitraryUserData; + +#pragma mark Diagnostics + +/** + * Returns the local address info for the socket. + * + * The localAddress method returns a sockaddr structure wrapped in a NSData object. + * The localHost method returns the human readable IP address as a string. + * + * Note: Address info may not be available until after the socket has been binded, connected + * or until after data has been sent. +**/ +- (nullable NSData *)localAddress; +- (nullable NSString *)localHost; +- (uint16_t)localPort; + +- (nullable NSData *)localAddress_IPv4; +- (nullable NSString *)localHost_IPv4; +- (uint16_t)localPort_IPv4; + +- (nullable NSData *)localAddress_IPv6; +- (nullable NSString *)localHost_IPv6; +- (uint16_t)localPort_IPv6; + +/** + * Returns the remote address info for the socket. + * + * The connectedAddress method returns a sockaddr structure wrapped in a NSData object. + * The connectedHost method returns the human readable IP address as a string. + * + * Note: Since UDP is connectionless by design, connected address info + * will not be available unless the socket is explicitly connected to a remote host/port. + * If the socket is not connected, these methods will return nil / 0. +**/ +- (nullable NSData *)connectedAddress; +- (nullable NSString *)connectedHost; +- (uint16_t)connectedPort; + +/** + * Returns whether or not this socket has been connected to a single host. + * By design, UDP is a connectionless protocol, and connecting is not needed. + * If connected, the socket will only be able to send/receive data to/from the connected host. +**/ +- (BOOL)isConnected; + +/** + * Returns whether or not this socket has been closed. + * The only way a socket can be closed is if you explicitly call one of the close methods. +**/ +- (BOOL)isClosed; + +/** + * Returns whether or not this socket is IPv4. + * + * By default this will be true, unless: + * - IPv4 is disabled (via setIPv4Enabled:) + * - The socket is explicitly bound to an IPv6 address + * - The socket is connected to an IPv6 address +**/ +- (BOOL)isIPv4; + +/** + * Returns whether or not this socket is IPv6. + * + * By default this will be true, unless: + * - IPv6 is disabled (via setIPv6Enabled:) + * - The socket is explicitly bound to an IPv4 address + * _ The socket is connected to an IPv4 address + * + * This method will also return false on platforms that do not support IPv6. + * Note: The iPhone does not currently support IPv6. +**/ +- (BOOL)isIPv6; + +#pragma mark Binding + +/** + * Binds the UDP socket to the given port. + * Binding should be done for server sockets that receive data prior to sending it. + * Client sockets can skip binding, + * as the OS will automatically assign the socket an available port when it starts sending data. + * + * You may optionally pass a port number of zero to immediately bind the socket, + * yet still allow the OS to automatically assign an available port. + * + * You cannot bind a socket after its been connected. + * You can only bind a socket once. + * You can still connect a socket (if desired) after binding. + * + * On success, returns YES. + * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass NULL for errPtr. +**/ +- (BOOL)bindToPort:(uint16_t)port error:(NSError **)errPtr; + +/** + * Binds the UDP socket to the given port and optional interface. + * Binding should be done for server sockets that receive data prior to sending it. + * Client sockets can skip binding, + * as the OS will automatically assign the socket an available port when it starts sending data. + * + * You may optionally pass a port number of zero to immediately bind the socket, + * yet still allow the OS to automatically assign an available port. + * + * The interface may be a name (e.g. "en1" or "lo0") or the corresponding IP address (e.g. "192.168.4.35"). + * You may also use the special strings "localhost" or "loopback" to specify that + * the socket only accept packets from the local machine. + * + * You cannot bind a socket after its been connected. + * You can only bind a socket once. + * You can still connect a socket (if desired) after binding. + * + * On success, returns YES. + * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass NULL for errPtr. +**/ +- (BOOL)bindToPort:(uint16_t)port interface:(nullable NSString *)interface error:(NSError **)errPtr; + +/** + * Binds the UDP socket to the given address, specified as a sockaddr structure wrapped in a NSData object. + * + * If you have an existing struct sockaddr you can convert it to a NSData object like so: + * struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len]; + * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; + * + * Binding should be done for server sockets that receive data prior to sending it. + * Client sockets can skip binding, + * as the OS will automatically assign the socket an available port when it starts sending data. + * + * You cannot bind a socket after its been connected. + * You can only bind a socket once. + * You can still connect a socket (if desired) after binding. + * + * On success, returns YES. + * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass NULL for errPtr. +**/ +- (BOOL)bindToAddress:(NSData *)localAddr error:(NSError **)errPtr; + +#pragma mark Connecting + +/** + * Connects the UDP socket to the given host and port. + * By design, UDP is a connectionless protocol, and connecting is not needed. + * + * Choosing to connect to a specific host/port has the following effect: + * - You will only be able to send data to the connected host/port. + * - You will only be able to receive data from the connected host/port. + * - You will receive ICMP messages that come from the connected host/port, such as "connection refused". + * + * The actual process of connecting a UDP socket does not result in any communication on the socket. + * It simply changes the internal state of the socket. + * + * You cannot bind a socket after it has been connected. + * You can only connect a socket once. + * + * The host may be a domain name (e.g. "deusty.com") or an IP address string (e.g. "192.168.0.2"). + * + * This method is asynchronous as it requires a DNS lookup to resolve the given host name. + * If an obvious error is detected, this method immediately returns NO and sets errPtr. + * If you don't care about the error, you can pass nil for errPtr. + * Otherwise, this method returns YES and begins the asynchronous connection process. + * The result of the asynchronous connection process will be reported via the delegate methods. + **/ +- (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port error:(NSError **)errPtr; + +/** + * Connects the UDP socket to the given address, specified as a sockaddr structure wrapped in a NSData object. + * + * If you have an existing struct sockaddr you can convert it to a NSData object like so: + * struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len]; + * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; + * + * By design, UDP is a connectionless protocol, and connecting is not needed. + * + * Choosing to connect to a specific address has the following effect: + * - You will only be able to send data to the connected address. + * - You will only be able to receive data from the connected address. + * - You will receive ICMP messages that come from the connected address, such as "connection refused". + * + * Connecting a UDP socket does not result in any communication on the socket. + * It simply changes the internal state of the socket. + * + * You cannot bind a socket after its been connected. + * You can only connect a socket once. + * + * On success, returns YES. + * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr. + * + * Note: Unlike the connectToHost:onPort:error: method, this method does not require a DNS lookup. + * Thus when this method returns, the connection has either failed or fully completed. + * In other words, this method is synchronous, unlike the asynchronous connectToHost::: method. + * However, for compatibility and simplification of delegate code, if this method returns YES + * then the corresponding delegate method (udpSocket:didConnectToHost:port:) is still invoked. +**/ +- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr; + +#pragma mark Multicast + +/** + * Join multicast group. + * Group should be an IP address (eg @"225.228.0.1"). + * + * On success, returns YES. + * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr. +**/ +- (BOOL)joinMulticastGroup:(NSString *)group error:(NSError **)errPtr; + +/** + * Join multicast group. + * Group should be an IP address (eg @"225.228.0.1"). + * The interface may be a name (e.g. "en1" or "lo0") or the corresponding IP address (e.g. "192.168.4.35"). + * + * On success, returns YES. + * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr. +**/ +- (BOOL)joinMulticastGroup:(NSString *)group onInterface:(nullable NSString *)interface error:(NSError **)errPtr; + +- (BOOL)leaveMulticastGroup:(NSString *)group error:(NSError **)errPtr; +- (BOOL)leaveMulticastGroup:(NSString *)group onInterface:(nullable NSString *)interface error:(NSError **)errPtr; + +/** + * Send multicast on a specified interface. + * For IPv4, interface should be the the IP address of the interface (eg @"192.168.10.1"). + * For IPv6, interface should be the a network interface name (eg @"en0"). + * + * On success, returns YES. + * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr. +**/ + +- (BOOL)sendIPv4MulticastOnInterface:(NSString*)interface error:(NSError **)errPtr; +- (BOOL)sendIPv6MulticastOnInterface:(NSString*)interface error:(NSError **)errPtr; + +#pragma mark Reuse Port + +/** + * By default, only one socket can be bound to a given IP address + port at a time. + * To enable multiple processes to simultaneously bind to the same address+port, + * you need to enable this functionality in the socket. All processes that wish to + * use the address+port simultaneously must all enable reuse port on the socket + * bound to that port. + **/ +- (BOOL)enableReusePort:(BOOL)flag error:(NSError **)errPtr; + +#pragma mark Broadcast + +/** + * By default, the underlying socket in the OS will not allow you to send broadcast messages. + * In order to send broadcast messages, you need to enable this functionality in the socket. + * + * A broadcast is a UDP message to addresses like "192.168.255.255" or "255.255.255.255" that is + * delivered to every host on the network. + * The reason this is generally disabled by default (by the OS) is to prevent + * accidental broadcast messages from flooding the network. +**/ +- (BOOL)enableBroadcast:(BOOL)flag error:(NSError **)errPtr; + +#pragma mark Sending + +/** + * Asynchronously sends the given data, with the given timeout and tag. + * + * This method may only be used with a connected socket. + * Recall that connecting is optional for a UDP socket. + * For connected sockets, data can only be sent to the connected address. + * For non-connected sockets, the remote destination is specified for each packet. + * For more information about optionally connecting udp sockets, see the documentation for the connect methods above. + * + * @param data + * The data to send. + * If data is nil or zero-length, this method does nothing. + * If passing NSMutableData, please read the thread-safety notice below. + * + * @param timeout + * The timeout for the send opeartion. + * If the timeout value is negative, the send operation will not use a timeout. + * + * @param tag + * The tag is for your convenience. + * It is not sent or received over the socket in any manner what-so-ever. + * It is reported back as a parameter in the udpSocket:didSendDataWithTag: + * or udpSocket:didNotSendDataWithTag:dueToError: methods. + * You can use it as an array index, state id, type constant, etc. + * + * + * Thread-Safety Note: + * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while + * the socket is sending it. In other words, it's not safe to alter the data until after the delegate method + * udpSocket:didSendDataWithTag: or udpSocket:didNotSendDataWithTag:dueToError: is invoked signifying + * that this particular send operation has completed. + * This is due to the fact that MGCDAsyncUdpSocket does NOT copy the data. + * It simply retains it for performance reasons. + * Often times, if NSMutableData is passed, it is because a request/response was built up in memory. + * Copying this data adds an unwanted/unneeded overhead. + * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket + * completes sending the bytes (which is NOT immediately after this method returns, but rather at a later time + * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method. +**/ +- (void)sendData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Asynchronously sends the given data, with the given timeout and tag, to the given host and port. + * + * This method cannot be used with a connected socket. + * Recall that connecting is optional for a UDP socket. + * For connected sockets, data can only be sent to the connected address. + * For non-connected sockets, the remote destination is specified for each packet. + * For more information about optionally connecting udp sockets, see the documentation for the connect methods above. + * + * @param data + * The data to send. + * If data is nil or zero-length, this method does nothing. + * If passing NSMutableData, please read the thread-safety notice below. + * + * @param host + * The destination to send the udp packet to. + * May be specified as a domain name (e.g. "deusty.com") or an IP address string (e.g. "192.168.0.2"). + * You may also use the convenience strings of "loopback" or "localhost". + * + * @param port + * The port of the host to send to. + * + * @param timeout + * The timeout for the send opeartion. + * If the timeout value is negative, the send operation will not use a timeout. + * + * @param tag + * The tag is for your convenience. + * It is not sent or received over the socket in any manner what-so-ever. + * It is reported back as a parameter in the udpSocket:didSendDataWithTag: + * or udpSocket:didNotSendDataWithTag:dueToError: methods. + * You can use it as an array index, state id, type constant, etc. + * + * + * Thread-Safety Note: + * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while + * the socket is sending it. In other words, it's not safe to alter the data until after the delegate method + * udpSocket:didSendDataWithTag: or udpSocket:didNotSendDataWithTag:dueToError: is invoked signifying + * that this particular send operation has completed. + * This is due to the fact that MGCDAsyncUdpSocket does NOT copy the data. + * It simply retains it for performance reasons. + * Often times, if NSMutableData is passed, it is because a request/response was built up in memory. + * Copying this data adds an unwanted/unneeded overhead. + * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket + * completes sending the bytes (which is NOT immediately after this method returns, but rather at a later time + * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method. +**/ +- (void)sendData:(NSData *)data + toHost:(NSString *)host + port:(uint16_t)port + withTimeout:(NSTimeInterval)timeout + tag:(long)tag; + +/** + * Asynchronously sends the given data, with the given timeout and tag, to the given address. + * + * This method cannot be used with a connected socket. + * Recall that connecting is optional for a UDP socket. + * For connected sockets, data can only be sent to the connected address. + * For non-connected sockets, the remote destination is specified for each packet. + * For more information about optionally connecting udp sockets, see the documentation for the connect methods above. + * + * @param data + * The data to send. + * If data is nil or zero-length, this method does nothing. + * If passing NSMutableData, please read the thread-safety notice below. + * + * @param remoteAddr + * The address to send the data to (specified as a sockaddr structure wrapped in a NSData object). + * + * @param timeout + * The timeout for the send opeartion. + * If the timeout value is negative, the send operation will not use a timeout. + * + * @param tag + * The tag is for your convenience. + * It is not sent or received over the socket in any manner what-so-ever. + * It is reported back as a parameter in the udpSocket:didSendDataWithTag: + * or udpSocket:didNotSendDataWithTag:dueToError: methods. + * You can use it as an array index, state id, type constant, etc. + * + * + * Thread-Safety Note: + * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while + * the socket is sending it. In other words, it's not safe to alter the data until after the delegate method + * udpSocket:didSendDataWithTag: or udpSocket:didNotSendDataWithTag:dueToError: is invoked signifying + * that this particular send operation has completed. + * This is due to the fact that MGCDAsyncUdpSocket does NOT copy the data. + * It simply retains it for performance reasons. + * Often times, if NSMutableData is passed, it is because a request/response was built up in memory. + * Copying this data adds an unwanted/unneeded overhead. + * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket + * completes sending the bytes (which is NOT immediately after this method returns, but rather at a later time + * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method. +**/ +- (void)sendData:(NSData *)data toAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * You may optionally set a send filter for the socket. + * A filter can provide several interesting possibilities: + * + * 1. Optional caching of resolved addresses for domain names. + * The cache could later be consulted, resulting in fewer system calls to getaddrinfo. + * + * 2. Reusable modules of code for bandwidth monitoring. + * + * 3. Sometimes traffic shapers are needed to simulate real world environments. + * A filter allows you to write custom code to simulate such environments. + * The ability to code this yourself is especially helpful when your simulated environment + * is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router), + * or the system tools to handle this aren't available (e.g. on a mobile device). + * + * For more information about MGCDAsyncUdpSocketSendFilterBlock, see the documentation for its typedef. + * To remove a previously set filter, invoke this method and pass a nil filterBlock and NULL filterQueue. + * + * Note: This method invokes setSendFilter:withQueue:isAsynchronous: (documented below), + * passing YES for the isAsynchronous parameter. +**/ +- (void)setSendFilter:(nullable MGCDAsyncUdpSocketSendFilterBlock)filterBlock withQueue:(nullable dispatch_queue_t)filterQueue; + +/** + * The receive filter can be run via dispatch_async or dispatch_sync. + * Most typical situations call for asynchronous operation. + * + * However, there are a few situations in which synchronous operation is preferred. + * Such is the case when the filter is extremely minimal and fast. + * This is because dispatch_sync is faster than dispatch_async. + * + * If you choose synchronous operation, be aware of possible deadlock conditions. + * Since the socket queue is executing your block via dispatch_sync, + * then you cannot perform any tasks which may invoke dispatch_sync on the socket queue. + * For example, you can't query properties on the socket. +**/ +- (void)setSendFilter:(nullable MGCDAsyncUdpSocketSendFilterBlock)filterBlock + withQueue:(nullable dispatch_queue_t)filterQueue + isAsynchronous:(BOOL)isAsynchronous; + +#pragma mark Receiving + +/** + * There are two modes of operation for receiving packets: one-at-a-time & continuous. + * + * In one-at-a-time mode, you call receiveOnce everytime your delegate is ready to process an incoming udp packet. + * Receiving packets one-at-a-time may be better suited for implementing certain state machine code, + * where your state machine may not always be ready to process incoming packets. + * + * In continuous mode, the delegate is invoked immediately everytime incoming udp packets are received. + * Receiving packets continuously is better suited to real-time streaming applications. + * + * You may switch back and forth between one-at-a-time mode and continuous mode. + * If the socket is currently in continuous mode, calling this method will switch it to one-at-a-time mode. + * + * When a packet is received (and not filtered by the optional receive filter), + * the delegate method (udpSocket:didReceiveData:fromAddress:withFilterContext:) is invoked. + * + * If the socket is able to begin receiving packets, this method returns YES. + * Otherwise it returns NO, and sets the errPtr with appropriate error information. + * + * An example error: + * You created a udp socket to act as a server, and immediately called receive. + * You forgot to first bind the socket to a port number, and received a error with a message like: + * "Must bind socket before you can receive data." +**/ +- (BOOL)receiveOnce:(NSError **)errPtr; + +/** + * There are two modes of operation for receiving packets: one-at-a-time & continuous. + * + * In one-at-a-time mode, you call receiveOnce everytime your delegate is ready to process an incoming udp packet. + * Receiving packets one-at-a-time may be better suited for implementing certain state machine code, + * where your state machine may not always be ready to process incoming packets. + * + * In continuous mode, the delegate is invoked immediately everytime incoming udp packets are received. + * Receiving packets continuously is better suited to real-time streaming applications. + * + * You may switch back and forth between one-at-a-time mode and continuous mode. + * If the socket is currently in one-at-a-time mode, calling this method will switch it to continuous mode. + * + * For every received packet (not filtered by the optional receive filter), + * the delegate method (udpSocket:didReceiveData:fromAddress:withFilterContext:) is invoked. + * + * If the socket is able to begin receiving packets, this method returns YES. + * Otherwise it returns NO, and sets the errPtr with appropriate error information. + * + * An example error: + * You created a udp socket to act as a server, and immediately called receive. + * You forgot to first bind the socket to a port number, and received a error with a message like: + * "Must bind socket before you can receive data." +**/ +- (BOOL)beginReceiving:(NSError **)errPtr; + +/** + * If the socket is currently receiving (beginReceiving has been called), this method pauses the receiving. + * That is, it won't read any more packets from the underlying OS socket until beginReceiving is called again. + * + * Important Note: + * MGCDAsyncUdpSocket may be running in parallel with your code. + * That is, your delegate is likely running on a separate thread/dispatch_queue. + * When you invoke this method, MGCDAsyncUdpSocket may have already dispatched delegate methods to be invoked. + * Thus, if those delegate methods have already been dispatch_async'd, + * your didReceive delegate method may still be invoked after this method has been called. + * You should be aware of this, and program defensively. +**/ +- (void)pauseReceiving; + +/** + * You may optionally set a receive filter for the socket. + * This receive filter may be set to run in its own queue (independent of delegate queue). + * + * A filter can provide several useful features. + * + * 1. Many times udp packets need to be parsed. + * Since the filter can run in its own independent queue, you can parallelize this parsing quite easily. + * The end result is a parallel socket io, datagram parsing, and packet processing. + * + * 2. Many times udp packets are discarded because they are duplicate/unneeded/unsolicited. + * The filter can prevent such packets from arriving at the delegate. + * And because the filter can run in its own independent queue, this doesn't slow down the delegate. + * + * - Since the udp protocol does not guarantee delivery, udp packets may be lost. + * Many protocols built atop udp thus provide various resend/re-request algorithms. + * This sometimes results in duplicate packets arriving. + * A filter may allow you to architect the duplicate detection code to run in parallel to normal processing. + * + * - Since the udp socket may be connectionless, its possible for unsolicited packets to arrive. + * Such packets need to be ignored. + * + * 3. Sometimes traffic shapers are needed to simulate real world environments. + * A filter allows you to write custom code to simulate such environments. + * The ability to code this yourself is especially helpful when your simulated environment + * is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router), + * or the system tools to handle this aren't available (e.g. on a mobile device). + * + * Example: + * + * MGCDAsyncUdpSocketReceiveFilterBlock filter = ^BOOL (NSData *data, NSData *address, id *context) { + * + * MyProtocolMessage *msg = [MyProtocol parseMessage:data]; + * + * *context = response; + * return (response != nil); + * }; + * [udpSocket setReceiveFilter:filter withQueue:myParsingQueue]; + * + * For more information about MGCDAsyncUdpSocketReceiveFilterBlock, see the documentation for its typedef. + * To remove a previously set filter, invoke this method and pass a nil filterBlock and NULL filterQueue. + * + * Note: This method invokes setReceiveFilter:withQueue:isAsynchronous: (documented below), + * passing YES for the isAsynchronous parameter. +**/ +- (void)setReceiveFilter:(nullable MGCDAsyncUdpSocketReceiveFilterBlock)filterBlock withQueue:(nullable dispatch_queue_t)filterQueue; + +/** + * The receive filter can be run via dispatch_async or dispatch_sync. + * Most typical situations call for asynchronous operation. + * + * However, there are a few situations in which synchronous operation is preferred. + * Such is the case when the filter is extremely minimal and fast. + * This is because dispatch_sync is faster than dispatch_async. + * + * If you choose synchronous operation, be aware of possible deadlock conditions. + * Since the socket queue is executing your block via dispatch_sync, + * then you cannot perform any tasks which may invoke dispatch_sync on the socket queue. + * For example, you can't query properties on the socket. +**/ +- (void)setReceiveFilter:(nullable MGCDAsyncUdpSocketReceiveFilterBlock)filterBlock + withQueue:(nullable dispatch_queue_t)filterQueue + isAsynchronous:(BOOL)isAsynchronous; + +#pragma mark Closing + +/** + * Immediately closes the underlying socket. + * Any pending send operations are discarded. + * + * The MGCDAsyncUdpSocket instance may optionally be used again. + * (it will setup/configure/use another unnderlying BSD socket). +**/ +- (void)close; + +/** + * Closes the underlying socket after all pending send operations have been sent. + * + * The MGCDAsyncUdpSocket instance may optionally be used again. + * (it will setup/configure/use another unnderlying BSD socket). +**/ +- (void)closeAfterSending; + +#pragma mark Advanced +/** + * MGCDAsyncSocket maintains thread safety by using an internal serial dispatch_queue. + * In most cases, the instance creates this queue itself. + * However, to allow for maximum flexibility, the internal queue may be passed in the init method. + * This allows for some advanced options such as controlling socket priority via target queues. + * However, when one begins to use target queues like this, they open the door to some specific deadlock issues. + * + * For example, imagine there are 2 queues: + * dispatch_queue_t socketQueue; + * dispatch_queue_t socketTargetQueue; + * + * If you do this (pseudo-code): + * socketQueue.targetQueue = socketTargetQueue; + * + * Then all socketQueue operations will actually get run on the given socketTargetQueue. + * This is fine and works great in most situations. + * But if you run code directly from within the socketTargetQueue that accesses the socket, + * you could potentially get deadlock. Imagine the following code: + * + * - (BOOL)socketHasSomething + * { + * __block BOOL result = NO; + * dispatch_block_t block = ^{ + * result = [self someInternalMethodToBeRunOnlyOnSocketQueue]; + * } + * if (is_executing_on_queue(socketQueue)) + * block(); + * else + * dispatch_sync(socketQueue, block); + * + * return result; + * } + * + * What happens if you call this method from the socketTargetQueue? The result is deadlock. + * This is because the MGCD API offers no mechanism to discover a queue's targetQueue. + * Thus we have no idea if our socketQueue is configured with a targetQueue. + * If we had this information, we could easily avoid deadlock. + * But, since these API's are missing or unfeasible, you'll have to explicitly set it. + * + * IF you pass a socketQueue via the init method, + * AND you've configured the passed socketQueue with a targetQueue, + * THEN you should pass the end queue in the target hierarchy. + * + * For example, consider the following queue hierarchy: + * socketQueue -> ipQueue -> moduleQueue + * + * This example demonstrates priority shaping within some server. + * All incoming client connections from the same IP address are executed on the same target queue. + * And all connections for a particular module are executed on the same target queue. + * Thus, the priority of all networking for the entire module can be changed on the fly. + * Additionally, networking traffic from a single IP cannot monopolize the module. + * + * Here's how you would accomplish something like that: + * - (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(MGCDAsyncSocket *)sock + * { + * dispatch_queue_t socketQueue = dispatch_queue_create("", NULL); + * dispatch_queue_t ipQueue = [self ipQueueForAddress:address]; + * + * dispatch_set_target_queue(socketQueue, ipQueue); + * dispatch_set_target_queue(iqQueue, moduleQueue); + * + * return socketQueue; + * } + * - (void)socket:(MGCDAsyncSocket *)sock didAcceptNewSocket:(MGCDAsyncSocket *)newSocket + * { + * [clientConnections addObject:newSocket]; + * [newSocket markSocketQueueTargetQueue:moduleQueue]; + * } + * + * Note: This workaround is ONLY needed if you intend to execute code directly on the ipQueue or moduleQueue. + * This is often NOT the case, as such queues are used solely for execution shaping. + **/ +- (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreConfiguredTargetQueue; +- (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreviouslyConfiguredTargetQueue; + +/** + * It's not thread-safe to access certain variables from outside the socket's internal queue. + * + * For example, the socket file descriptor. + * File descriptors are simply integers which reference an index in the per-process file table. + * However, when one requests a new file descriptor (by opening a file or socket), + * the file descriptor returned is guaranteed to be the lowest numbered unused descriptor. + * So if we're not careful, the following could be possible: + * + * - Thread A invokes a method which returns the socket's file descriptor. + * - The socket is closed via the socket's internal queue on thread B. + * - Thread C opens a file, and subsequently receives the file descriptor that was previously the socket's FD. + * - Thread A is now accessing/altering the file instead of the socket. + * + * In addition to this, other variables are not actually objects, + * and thus cannot be retained/released or even autoreleased. + * An example is the sslContext, of type SSLContextRef, which is actually a malloc'd struct. + * + * Although there are internal variables that make it difficult to maintain thread-safety, + * it is important to provide access to these variables + * to ensure this class can be used in a wide array of environments. + * This method helps to accomplish this by invoking the current block on the socket's internal queue. + * The methods below can be invoked from within the block to access + * those generally thread-unsafe internal variables in a thread-safe manner. + * The given block will be invoked synchronously on the socket's internal queue. + * + * If you save references to any protected variables and use them outside the block, you do so at your own peril. +**/ +- (void)performBlock:(dispatch_block_t)block; + +/** + * These methods are only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Provides access to the socket's file descriptor(s). + * If the socket isn't connected, or explicity bound to a particular interface, + * it might actually have multiple internal socket file descriptors - one for IPv4 and one for IPv6. +**/ +- (int)socketFD; +- (int)socket4FD; +- (int)socket6FD; + +#if TARGET_OS_IPHONE + +/** + * These methods are only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Returns (creating if necessary) a CFReadStream/CFWriteStream for the internal socket. + * + * Generally MGCDAsyncUdpSocket doesn't use CFStream. (It uses the faster MGCD API's.) + * However, if you need one for any reason, + * these methods are a convenient way to get access to a safe instance of one. +**/ +- (nullable CFReadStreamRef)readStream; +- (nullable CFWriteStreamRef)writeStream; + +/** + * This method is only available from within the context of a performBlock: invocation. + * See the documentation for the performBlock: method above. + * + * Configures the socket to allow it to operate when the iOS application has been backgrounded. + * In other words, this method creates a read & write stream, and invokes: + * + * CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeBackground); + * CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeBackground); + * + * Returns YES if successful, NO otherwise. + * + * Example usage: + * + * [asyncUdpSocket performBlock:^{ + * [asyncUdpSocket enableBackgroundingOnSocket]; + * }]; + * + * + * NOTE : Apple doesn't currently support backgrounding UDP sockets. (Only TCP for now). +**/ +//- (BOOL)enableBackgroundingOnSockets; + +#endif + +#pragma mark Utilities + +/** + * Extracting host/port/family information from raw address data. +**/ + ++ (nullable NSString *)hostFromAddress:(NSData *)address; ++ (uint16_t)portFromAddress:(NSData *)address; ++ (int)familyFromAddress:(NSData *)address; + ++ (BOOL)isIPv4Address:(NSData *)address; ++ (BOOL)isIPv6Address:(NSData *)address; + ++ (BOOL)getHost:(NSString * __nullable * __nullable)hostPtr port:(uint16_t * __nullable)portPtr fromAddress:(NSData *)address; ++ (BOOL)getHost:(NSString * __nullable * __nullable)hostPtr port:(uint16_t * __nullable)portPtr family:(int * __nullable)afPtr fromAddress:(NSData *)address; + +@end + +NS_ASSUME_NONNULL_END diff --git a/MqttCocoaAsyncSocket.framework/Headers/MqttCocoaAsyncSocket.h b/MqttCocoaAsyncSocket.framework/Headers/MqttCocoaAsyncSocket.h new file mode 100644 index 00000000..117d2fea --- /dev/null +++ b/MqttCocoaAsyncSocket.framework/Headers/MqttCocoaAsyncSocket.h @@ -0,0 +1,18 @@ +// +// CocoaAsyncSocket.h +// CocoaAsyncSocket +// +// Created by Derek Clarkson on 10/08/2015. +// CocoaAsyncSocket project is in the public domain. +// + +#import + +//! Project version number for CocoaAsyncSocket. +FOUNDATION_EXPORT double cocoaAsyncSocketVersionNumber; + +//! Project version string for CocoaAsyncSocket. +FOUNDATION_EXPORT const unsigned char cocoaAsyncSocketVersionString[]; + +#import "MGCDAsyncSocket.h" +#import "MGCDAsyncUdpSocket.h" diff --git a/MqttCocoaAsyncSocket.framework/Info.plist b/MqttCocoaAsyncSocket.framework/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..406435eb2095f89dcd253b89354b8131ae10b504 GIT binary patch literal 809 zcmZ8eOHUI~6rOv0fKM(IQ4myKDn7=U0&Q3s=up#;3Nlkb(=fT6-nKW~nLEsb*bRwm zHYRLbm?#=oF8Kq-AK})xGGXffE5i3gJ2@=I!k0jY5MSFuoyq^!oMXX3F$S#WAXV^$FP ziPzkqo*!l9r2CZE(S%e&*NC-4>eOhuQFSD#>J8xqu~QE`=G0Bx|EJ074hcf)J|N{aiDmv?bis zj4ex4X*tIDq`1f&W{38w9-FsIh3LA>qIqI7-Zb%OsjyCWL*~(Hr;#HrsW8q0M*UKH z_Q}HRI*lGMSlkVQoUjC0^qY>Q3u}i4CLXthEqkI;VYERUUpVsr8a*Q`M!vYYqN`Ez zIEtfNTWqZ%TAzQWns}l$g19cHa+J02;>(=x*|NonQTA3sIf~={*q;JwM)Ptr_ z1}!2TRnQ)Kg$~dmdXJ9LSM&q@L??h?8fHL-G-P1`mOujrE;L~u4&XJsfw%Auj^HDF QlG*{NgVLiIV}Q@U0b#uR4FCWD literal 0 HcmV?d00001 diff --git a/MqttCocoaAsyncSocket.framework/Modules/module.modulemap b/MqttCocoaAsyncSocket.framework/Modules/module.modulemap new file mode 100644 index 00000000..2571d641 --- /dev/null +++ b/MqttCocoaAsyncSocket.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module MqttCocoaAsyncSocket { + umbrella header "MqttCocoaAsyncSocket.h" + export * + + module * { export * } +} diff --git a/MqttCocoaAsyncSocket.framework/MqttCocoaAsyncSocket b/MqttCocoaAsyncSocket.framework/MqttCocoaAsyncSocket new file mode 100755 index 0000000000000000000000000000000000000000..d7130c3d52ded4b0aa9ba14f6919c4894e3aa5fe GIT binary patch literal 330704 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濋}H|yh?FRDF~VGq~Y?ztA%+Z7(p{9hqu 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 z�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 WQ`XG872Zyx|9?7f>%KZTIQS1;jt8^= literal 0 HcmV?d00001 diff --git a/Source/FramePublish.swift b/Source/FramePublish.swift index ab637d0b..1491440e 100644 --- a/Source/FramePublish.swift +++ b/Source/FramePublish.swift @@ -200,7 +200,9 @@ extension FramePublish: InitialWithBytes { }else{ // MQTT 3.1.1 - topic = NSString(bytes: [UInt8](bytes[2...(pos-1)]), length: Int(len), encoding: String.Encoding.utf8.rawValue)! as String + if let data = NSString(bytes: [UInt8](bytes[2...(pos-1)]), length: Int(len), encoding: String.Encoding.utf8.rawValue) { + topic = data as String + } } // payload diff --git a/Starscream.framework/Headers/Starscream-Swift.h b/Starscream.framework/Headers/Starscream-Swift.h new file mode 100644 index 00000000..cedb824d --- /dev/null +++ b/Starscream.framework/Headers/Starscream-Swift.h @@ -0,0 +1,336 @@ +#if 0 +#elif defined(__arm64__) && __arm64__ +// Generated by Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) +#ifndef STARSCREAM_SWIFT_H +#define STARSCREAM_SWIFT_H +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgcc-compat" + +#if !defined(__has_include) +# define __has_include(x) 0 +#endif +#if !defined(__has_attribute) +# define __has_attribute(x) 0 +#endif +#if !defined(__has_feature) +# define __has_feature(x) 0 +#endif +#if !defined(__has_warning) +# define __has_warning(x) 0 +#endif + +#if __has_include() +# include +#endif + +#pragma clang diagnostic ignored "-Wauto-import" +#if defined(__OBJC__) +#include +#endif +#if defined(__cplusplus) +#include +#include +#include +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif +#if defined(__cplusplus) +#if defined(__arm64e__) && __has_include() +# include +#else +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +# ifndef __ptrauth_swift_value_witness_function_pointer +# define __ptrauth_swift_value_witness_function_pointer(x) +# endif +# ifndef __ptrauth_swift_class_method_pointer +# define __ptrauth_swift_class_method_pointer(x) +# endif +#pragma clang diagnostic pop +#endif +#endif + +#if !defined(SWIFT_TYPEDEFS) +# define SWIFT_TYPEDEFS 1 +# if __has_include() +# include +# elif !defined(__cplusplus) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +# endif +typedef float swift_float2 __attribute__((__ext_vector_type__(2))); +typedef float swift_float3 __attribute__((__ext_vector_type__(3))); +typedef float swift_float4 __attribute__((__ext_vector_type__(4))); +typedef double swift_double2 __attribute__((__ext_vector_type__(2))); +typedef double swift_double3 __attribute__((__ext_vector_type__(3))); +typedef double swift_double4 __attribute__((__ext_vector_type__(4))); +typedef int swift_int2 __attribute__((__ext_vector_type__(2))); +typedef int swift_int3 __attribute__((__ext_vector_type__(3))); +typedef int swift_int4 __attribute__((__ext_vector_type__(4))); +typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); +typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); +typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); +#endif + +#if !defined(SWIFT_PASTE) +# define SWIFT_PASTE_HELPER(x, y) x##y +# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) +#endif +#if !defined(SWIFT_METATYPE) +# define SWIFT_METATYPE(X) Class +#endif +#if !defined(SWIFT_CLASS_PROPERTY) +# if __has_feature(objc_class_property) +# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ +# else +# define SWIFT_CLASS_PROPERTY(...) +# endif +#endif +#if !defined(SWIFT_RUNTIME_NAME) +# if __has_attribute(objc_runtime_name) +# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) +# else +# define SWIFT_RUNTIME_NAME(X) +# endif +#endif +#if !defined(SWIFT_COMPILE_NAME) +# if __has_attribute(swift_name) +# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) +# else +# define SWIFT_COMPILE_NAME(X) +# endif +#endif +#if !defined(SWIFT_METHOD_FAMILY) +# if __has_attribute(objc_method_family) +# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) +# else +# define SWIFT_METHOD_FAMILY(X) +# endif +#endif +#if !defined(SWIFT_NOESCAPE) +# if __has_attribute(noescape) +# define SWIFT_NOESCAPE __attribute__((noescape)) +# else +# define SWIFT_NOESCAPE +# endif +#endif +#if !defined(SWIFT_RELEASES_ARGUMENT) +# if __has_attribute(ns_consumed) +# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) +# else +# define SWIFT_RELEASES_ARGUMENT +# endif +#endif +#if !defined(SWIFT_WARN_UNUSED_RESULT) +# if __has_attribute(warn_unused_result) +# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) +# else +# define SWIFT_WARN_UNUSED_RESULT +# endif +#endif +#if !defined(SWIFT_NORETURN) +# if __has_attribute(noreturn) +# define SWIFT_NORETURN __attribute__((noreturn)) +# else +# define SWIFT_NORETURN +# endif +#endif +#if !defined(SWIFT_CLASS_EXTRA) +# define SWIFT_CLASS_EXTRA +#endif +#if !defined(SWIFT_PROTOCOL_EXTRA) +# define SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_ENUM_EXTRA) +# define SWIFT_ENUM_EXTRA +#endif +#if !defined(SWIFT_CLASS) +# if __has_attribute(objc_subclassing_restricted) +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# else +# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA +# endif +#endif +#if !defined(SWIFT_RESILIENT_CLASS) +# if __has_attribute(objc_class_stub) +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) +# else +# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) +# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) +# endif +#endif +#if !defined(SWIFT_PROTOCOL) +# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA +#endif +#if !defined(SWIFT_EXTENSION) +# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) +#endif +#if !defined(OBJC_DESIGNATED_INITIALIZER) +# if __has_attribute(objc_designated_initializer) +# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) +# else +# define OBJC_DESIGNATED_INITIALIZER +# endif +#endif +#if !defined(SWIFT_ENUM_ATTR) +# if __has_attribute(enum_extensibility) +# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) +# else +# define SWIFT_ENUM_ATTR(_extensibility) +# endif +#endif +#if !defined(SWIFT_ENUM) +# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# if __has_feature(generalized_swift_name) +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type +# else +# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) +# endif +#endif +#if !defined(SWIFT_UNAVAILABLE) +# define SWIFT_UNAVAILABLE __attribute__((unavailable)) +#endif +#if !defined(SWIFT_UNAVAILABLE_MSG) +# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) +#endif +#if !defined(SWIFT_AVAILABILITY) +# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) +#endif +#if !defined(SWIFT_WEAK_IMPORT) +# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) +#endif +#if !defined(SWIFT_DEPRECATED) +# define SWIFT_DEPRECATED __attribute__((deprecated)) +#endif +#if !defined(SWIFT_DEPRECATED_MSG) +# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) +#endif +#if !defined(SWIFT_DEPRECATED_OBJC) +# if __has_feature(attribute_diagnose_if_objc) +# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) +# else +# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) +# endif +#endif +#if defined(__OBJC__) +#if !defined(IBSegueAction) +# define IBSegueAction +#endif +#endif +#if !defined(SWIFT_EXTERN) +# if defined(__cplusplus) +# define SWIFT_EXTERN extern "C" +# else +# define SWIFT_EXTERN extern +# endif +#endif +#if !defined(SWIFT_CALL) +# define SWIFT_CALL __attribute__((swiftcall)) +#endif +#if !defined(SWIFT_INDIRECT_RESULT) +# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) +#endif +#if !defined(SWIFT_CONTEXT) +# define SWIFT_CONTEXT __attribute__((swift_context)) +#endif +#if !defined(SWIFT_ERROR_RESULT) +# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) +#endif +#if defined(__cplusplus) +# define SWIFT_NOEXCEPT noexcept +#else +# define SWIFT_NOEXCEPT +#endif +#if !defined(SWIFT_C_INLINE_THUNK) +# if __has_attribute(always_inline) +# if __has_attribute(nodebug) +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) +# else +# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) +# endif +# else +# define SWIFT_C_INLINE_THUNK inline +# endif +#endif +#if defined(_WIN32) +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) +#endif +#else +#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) +# define SWIFT_IMPORT_STDLIB_SYMBOL +#endif +#endif +#if defined(__OBJC__) +#if __has_feature(objc_modules) +#if __has_warning("-Watimport-in-framework-header") +#pragma clang diagnostic ignored "-Watimport-in-framework-header" +#endif +@import Foundation; +@import ObjectiveC; +#endif + +#endif +#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" +#pragma clang diagnostic ignored "-Wduplicate-method-arg" +#if __has_warning("-Wpragma-clang-attribute") +# pragma clang diagnostic ignored "-Wpragma-clang-attribute" +#endif +#pragma clang diagnostic ignored "-Wunknown-pragmas" +#pragma clang diagnostic ignored "-Wnullability" +#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" + +#if __has_attribute(external_source_symbol) +# pragma push_macro("any") +# undef any +# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Starscream",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) +# pragma pop_macro("any") +#endif + +#if defined(__OBJC__) +@class NSStream; + +SWIFT_CLASS("_TtC10Starscream19FoundationTransport") +@interface FoundationTransport : NSObject +- (void)stream:(NSStream * _Nonnull)aStream handleEvent:(NSStreamEvent)eventCode; +- (nonnull instancetype)init SWIFT_UNAVAILABLE; ++ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); +@end + +@class NSURLSession; +@class NSURLSessionWebSocketTask; +@class NSString; +@class NSData; +@class NSURLSessionTask; + +SWIFT_CLASS("_TtC10Starscream12NativeEngine") SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.0) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15) +@interface NativeEngine : NSObject +- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didOpenWithProtocol:(NSString * _Nullable)protocol; +- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didCloseWithCode:(NSURLSessionWebSocketCloseCode)closeCode reason:(NSData * _Nullable)reason; +- (void)URLSession:(NSURLSession * _Nonnull)session task:(NSURLSessionTask * _Nonnull)task didCompleteWithError:(NSError * _Nullable)error; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + +#endif +#if __has_attribute(external_source_symbol) +# pragma clang attribute pop +#endif +#if defined(__cplusplus) +#endif +#pragma clang diagnostic pop +#endif + +#else +#error unsupported Swift architecture +#endif diff --git a/Starscream.framework/Headers/Starscream.h b/Starscream.framework/Headers/Starscream.h new file mode 100644 index 00000000..c2a6f605 --- /dev/null +++ b/Starscream.framework/Headers/Starscream.h @@ -0,0 +1,31 @@ +////////////////////////////////////////////////////////////////////////////////////////////////// +// +// Starscream.h +// Starscream +// +// Created by Austin Cherry on 9/25/14. +// Copyright © 2014 Vluxe. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +////////////////////////////////////////////////////////////////////////////////////////////////// + +#import + +//! Project version number for Starscream. +FOUNDATION_EXPORT double StarscreamVersionNumber; + +//! Project version string for Starscream. +FOUNDATION_EXPORT const unsigned char StarscreamVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import diff --git a/Starscream.framework/Info.plist b/Starscream.framework/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..bbf1c8edc8623d3cee6b601cab2a3b79656dcd5c GIT binary patch literal 787 zcmY+B%Wl&^6ox&+r3DI^G;JZhKuOEB)YwUyiWQ=9gQ6-l#7>h|QLTwHNk)t>_!2c6 zq;8NK;3>3C!l4|3CjX8l7ocj5@9$d`B|?o;!cx;@J45 z%U33@UW=jlWMXQ1=K77~>|Anw;pVN|sioyROLy? zyT3zh$L|`^^aa-a8xoN$W9=305T$SV?rh}BUDI|$Qg&@>bW{}oJER>0yPo|Y;8~WB zkXD&tw{6y-6XG+!-N$ZL<ki*;J=n!y*p6jhW8 zIBZ#r@P0Q~fWtG^(|L_yqr;1;u#*-y)1pwPR)Cp~BChkU!#TJJQ*Z^Y!V27lP1u1h?88I&7QTZ=@ICy%4Gsju$~_KiSm4J$ D6ZG+) literal 0 HcmV?d00001 diff --git a/Starscream.framework/Modules/Starscream.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/Starscream.framework/Modules/Starscream.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo new file mode 100644 index 0000000000000000000000000000000000000000..b15da27246d03b8fb91fb8df8b4fa3794ddba6ef GIT binary patch literal 55364 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

@$C6dBZ1A5sixeyZZ)l~n~Zz%?KfII0M2Tl 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 literal 0 HcmV?d00001 diff --git a/Starscream.framework/Modules/module.modulemap b/Starscream.framework/Modules/module.modulemap new file mode 100644 index 00000000..9c6e305f --- /dev/null +++ b/Starscream.framework/Modules/module.modulemap @@ -0,0 +1,11 @@ +framework module Starscream { + umbrella header "Starscream.h" + export * + + module * { export * } +} + +module Starscream.Swift { + header "Starscream-Swift.h" + requires objc +} diff --git a/Starscream.framework/PrivacyInfo.xcprivacy b/Starscream.framework/PrivacyInfo.xcprivacy new file mode 100644 index 00000000..2009fb7a --- /dev/null +++ b/Starscream.framework/PrivacyInfo.xcprivacy @@ -0,0 +1,14 @@ + + + + + NSPrivacyTracking + + NSPrivacyTrackingDomains + + NSPrivacyCollectedDataTypes + + NSPrivacyAccessedAPITypes + + + diff --git a/Starscream.framework/Starscream b/Starscream.framework/Starscream new file mode 100755 index 0000000000000000000000000000000000000000..a109d6f05d237783ec985eb9f1868a2a13139ddf GIT binary patch literal 732784 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

_t6N%r>SyV;AdZZ3HB|ZPU2z5 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%0A8-7!wxVdBZyL==%s)#YlYTs6q zwYA0NBRVtejZ4|b9pkqB#wS1UUBPIH@$olnS;1uEmzujf%o;T5l``PZ{iuU;yR373 zGh<3W7oYBrt-ZES<8pZ7hC#%ly78BcUGMsP2Wzh9E7fgo)MU5k;*VR#dQ%IZRo%W^ zYi9mLuA9HjjwULW1 z*FYSFWj%C=a%9V|I@bz5+XaL5MThK{dwQ*({XFrlTF#BDz52_~DqwBdWmP9cHnCQ$ z{{f-U$UNh`J6kA9sa8_;@cx`9D1q4=d$h5 zYM=4=)Sp!)x%VyTsRH~q6DM7KC+hTVgK+2d?L^9y=`IcRO=IEp4IV?^Hf&-}ss3#8 zfk$_}GvmD>UT3WTuwyp&1DN)D?K^eH_dWM(_T9_(Rek?Rdi3WV-TE%PxwP30)-ZQ9 z)&MK?vcW?ClwQmK53TT|qyAf>wXu#I*c6xF{Lgjrn>@tUP(9uL)BgX%-n+m@Rh)n0 zGiNu+CIko&1QBJqX+XdL0RkdyEme7D6^`Hjp4fuxO*8O%N543R+Z% zNGYNP>m?|)5m6B+qEbbrHe9rzK!XDN|2{Kwb|*_f?63X5zxVy*d~!11nR({+%rnni z&n&scp7pm09Y;}rlmP#i&~DD)ybA5L(YcMM`ec>ToVgEVat`dYH<&lWm)PMoHXAaM zS&r`o%=O|klipfK@rTCkPl^4|oC88fYznUNTw8a#GukuWt1)J%W_1IeGOU&N;Jgo| zxfp3mo{2rQdOX{X`55BGUS9q2+T!LIdssNu@bOzbcUkaFA**~HZd5-1P*&>qv-O|C zj(&1m9?DyLGb=rX^wHm9{?n?eBih$`_*0*Ru}9`CV2snY(S10FFb{K^_I^0`gFGOA zSgV)cUn5<~bHp3!7MiEW5s#jymtm(orClOVR4y}5X=WZ&o>EQw|1eKA{lO3LA<2Qg z8^p=N>IUd}d=PGzBA3;FslQdp&daDPR7q(97j z*f2i_4ecLQbUaRJ+N%0DoTg|)BG!(oGGB{vCHiHY8^Ru5 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

!Nzd=rVd~x1yN4k-4Gt-TM-){I( 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

u1qeyHPJIq?ghkk5O8C3p`T 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 literal 0 HcmV?d00001 From 77629deec08dc980bb8ffd2cdf0530f092e194fe Mon Sep 17 00:00:00 2001 From: Sharath Kumar Vatti Date: Thu, 28 Nov 2024 15:06:35 +0530 Subject: [PATCH 2/3] Revert "Fixed Frame Publish crash" This reverts commit 151908371b562b369d929537884177bd3fedb7e5. --- CocoaMQTT.xcodeproj/project.pbxproj | 64 +- .../Headers/MGCDAsyncSocket.h | 1226 ----------------- .../Headers/MGCDAsyncUdpSocket.h | 1036 -------------- .../Headers/MqttCocoaAsyncSocket.h | 18 - MqttCocoaAsyncSocket.framework/Info.plist | Bin 809 -> 0 bytes .../Modules/module.modulemap | 6 - .../MqttCocoaAsyncSocket | Bin 330704 -> 0 bytes Source/FramePublish.swift | 4 +- .../Headers/Starscream-Swift.h | 336 ----- Starscream.framework/Headers/Starscream.h | 31 - Starscream.framework/Info.plist | Bin 787 -> 0 bytes .../Project/arm64-apple-ios.swiftsourceinfo | Bin 55364 -> 0 bytes .../arm64-apple-ios.abi.json | 9 - .../arm64-apple-ios.swiftdoc | Bin 6300 -> 0 bytes .../arm64-apple-ios.swiftmodule | Bin 264376 -> 0 bytes Starscream.framework/Modules/module.modulemap | 11 - Starscream.framework/PrivacyInfo.xcprivacy | 14 - Starscream.framework/Starscream | Bin 732784 -> 0 bytes 18 files changed, 24 insertions(+), 2731 deletions(-) delete mode 100644 MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncSocket.h delete mode 100644 MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncUdpSocket.h delete mode 100644 MqttCocoaAsyncSocket.framework/Headers/MqttCocoaAsyncSocket.h delete mode 100644 MqttCocoaAsyncSocket.framework/Info.plist delete mode 100644 MqttCocoaAsyncSocket.framework/Modules/module.modulemap delete mode 100755 MqttCocoaAsyncSocket.framework/MqttCocoaAsyncSocket delete mode 100644 Starscream.framework/Headers/Starscream-Swift.h delete mode 100644 Starscream.framework/Headers/Starscream.h delete mode 100644 Starscream.framework/Info.plist delete mode 100644 Starscream.framework/Modules/Starscream.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo delete mode 100644 Starscream.framework/Modules/Starscream.swiftmodule/arm64-apple-ios.abi.json delete mode 100644 Starscream.framework/Modules/Starscream.swiftmodule/arm64-apple-ios.swiftdoc delete mode 100644 Starscream.framework/Modules/Starscream.swiftmodule/arm64-apple-ios.swiftmodule delete mode 100644 Starscream.framework/Modules/module.modulemap delete mode 100644 Starscream.framework/PrivacyInfo.xcprivacy delete mode 100755 Starscream.framework/Starscream diff --git a/CocoaMQTT.xcodeproj/project.pbxproj b/CocoaMQTT.xcodeproj/project.pbxproj index 40ea1bf5..e3f79ec1 100644 --- a/CocoaMQTT.xcodeproj/project.pbxproj +++ b/CocoaMQTT.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ @@ -59,12 +59,9 @@ 111124CE24BB516300E2DFBC /* FramePubComp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D43DE5522FAEDDA00D9A06B /* FramePubComp.swift */; }; 111124CF24BB516300E2DFBC /* CocoaMQTTTypes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82519C0622ACC6E100FA0815 /* CocoaMQTTTypes.swift */; }; 111124D024BB516300E2DFBC /* FrameConnect.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8D43DE4B22FAEB8B00D9A06B /* FrameConnect.swift */; }; - 354F8E2B2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2A2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework */; platformFilter = ios; }; - 354F8E2C2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2A2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework */; }; - 354F8E2D2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2A2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework */; }; - 354F8E2F2CF86EF2005BCDF9 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2E2CF86EF2005BCDF9 /* Starscream.framework */; platformFilter = ios; }; - 354F8E302CF86EF2005BCDF9 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2E2CF86EF2005BCDF9 /* Starscream.framework */; }; - 354F8E312CF86EF2005BCDF9 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 354F8E2E2CF86EF2005BCDF9 /* Starscream.framework */; }; + 4AB7B69128E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AB7B69028E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; + 4AB7B69428E45604003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AB7B69028E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; + 4AB7B69728E45608003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4AB7B69028E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; 6EC871E323A421A200F69AE8 /* CocoaMQTTSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC871E223A421A200F69AE8 /* CocoaMQTTSocket.swift */; }; 6EC871E523A421DE00F69AE8 /* CocoaMQTTWebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6EC871E423A421DE00F69AE8 /* CocoaMQTTWebSocket.swift */; }; 8225B53A227C2FC600E4DB51 /* CocoaMQTT.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0409977A1C1B1529006B5A6D /* CocoaMQTT.swift */; }; @@ -150,6 +147,9 @@ 92445BEC2ADFBEA4009D16AB /* ThreadSafeDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92445BEB2ADFBEA4009D16AB /* ThreadSafeDictionary.swift */; }; 92445BED2ADFBEA4009D16AB /* ThreadSafeDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92445BEB2ADFBEA4009D16AB /* ThreadSafeDictionary.swift */; }; 92445BEE2ADFBEA4009D16AB /* ThreadSafeDictionary.swift in Sources */ = {isa = PBXBuildFile; fileRef = 92445BEB2ADFBEA4009D16AB /* ThreadSafeDictionary.swift */; }; + 929A468C27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 929A468827611DAE0046F6C5 /* Starscream.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; + 929A468D27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 929A468827611DAE0046F6C5 /* Starscream.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; + 929A468E27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 929A468827611DAE0046F6C5 /* Starscream.xcframework */; settings = {ATTRIBUTES = (Required, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -184,8 +184,7 @@ 0409977C1C1B1529006B5A6D /* CocoaMQTTMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CocoaMQTTMessage.swift; sourceTree = ""; }; 111124B224BB515E00E2DFBC /* CocoaMQTT.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaMQTT.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 111124DC24BB516400E2DFBC /* CocoaMQTT.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CocoaMQTT.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 354F8E2A2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = MqttCocoaAsyncSocket.framework; sourceTree = ""; }; - 354F8E2E2CF86EF2005BCDF9 /* Starscream.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Starscream.framework; sourceTree = ""; }; + 4AB7B69028E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = MqttCocoaAsyncSocket.xcframework; path = Carthage/Build/MqttCocoaAsyncSocket.xcframework; sourceTree = ""; }; 6EC871E223A421A200F69AE8 /* CocoaMQTTSocket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CocoaMQTTSocket.swift; sourceTree = ""; }; 6EC871E423A421DE00F69AE8 /* CocoaMQTTWebSocket.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CocoaMQTTWebSocket.swift; sourceTree = ""; }; 8225B4C8227B182200E4DB51 /* CocoaMQTTTimer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CocoaMQTTTimer.swift; sourceTree = ""; }; @@ -232,6 +231,7 @@ 9228E8CC27610AA400063DF2 /* MqttAuthProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MqttAuthProperties.swift; sourceTree = ""; }; 9228E8CD27610AA400063DF2 /* MqttConnectProperties.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MqttConnectProperties.swift; sourceTree = ""; }; 92445BEB2ADFBEA4009D16AB /* ThreadSafeDictionary.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThreadSafeDictionary.swift; sourceTree = ""; }; + 929A468827611DAE0046F6C5 /* Starscream.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Starscream.xcframework; path = Carthage/Build/Starscream.xcframework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -239,8 +239,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 354F8E2C2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */, - 354F8E302CF86EF2005BCDF9 /* Starscream.framework in Frameworks */, + 4AB7B69428E45604003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */, + 929A468D27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -248,8 +248,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 354F8E2D2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */, - 354F8E312CF86EF2005BCDF9 /* Starscream.framework in Frameworks */, + 4AB7B69728E45608003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */, + 929A468E27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -257,8 +257,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 354F8E2B2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework in Frameworks */, - 354F8E2F2CF86EF2005BCDF9 /* Starscream.framework in Frameworks */, + 4AB7B69128E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework in Frameworks */, + 929A468C27611DAE0046F6C5 /* Starscream.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -401,8 +401,8 @@ C68B087463924483F8568675 /* Frameworks */ = { isa = PBXGroup; children = ( - 354F8E2A2CF86E70005BCDF9 /* MqttCocoaAsyncSocket.framework */, - 354F8E2E2CF86EF2005BCDF9 /* Starscream.framework */, + 4AB7B69028E455FD003ED9BF /* MqttCocoaAsyncSocket.xcframework */, + 929A468827611DAE0046F6C5 /* Starscream.xcframework */, ); name = Frameworks; sourceTree = ""; @@ -928,10 +928,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -975,10 +972,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1018,10 +1012,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1065,10 +1056,7 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1111,10 +1099,7 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; EXCLUDED_ARCHS = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; @@ -1160,10 +1145,7 @@ DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; EXCLUDED_ARCHS = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)", - ); + FRAMEWORK_SEARCH_PATHS = "$(inherited)"; GCC_C_LANGUAGE_STANDARD = gnu11; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; diff --git a/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncSocket.h b/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncSocket.h deleted file mode 100644 index 8f1699c4..00000000 --- a/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncSocket.h +++ /dev/null @@ -1,1226 +0,0 @@ -// -// MGCDAsyncSocket.h -// -// This class is in the public domain. -// Originally created by Robbie Hanson in Q3 2010. -// Updated and maintained by Deusty LLC and the Apple development community. -// -// https://github.com/robbiehanson/CocoaAsyncSocket -// - -#import -#import -#import -#import -#import - -#include // AF_INET, AF_INET6 - -@class MGCDAsyncReadPacket; -@class MGCDAsyncWritePacket; -@class MGCDAsyncSocketPreBuffer; -@protocol MGCDAsyncSocketDelegate; - -NS_ASSUME_NONNULL_BEGIN - -extern NSString *const MGCDAsyncSocketException; -extern NSString *const MGCDAsyncSocketErrorDomain; - -extern NSString *const MGCDAsyncSocketQueueName; -extern NSString *const MGCDAsyncSocketThreadName; - -extern NSString *const MGCDAsyncSocketManuallyEvaluateTrust; -#if TARGET_OS_IPHONE -extern NSString *const MGCDAsyncSocketUseCFStreamForTLS; -#endif -#define MGCDAsyncSocketSSLPeerName (NSString *)kCFStreamSSLPeerName -#define MGCDAsyncSocketSSLCertificates (NSString *)kCFStreamSSLCertificates -#define MGCDAsyncSocketSSLIsServer (NSString *)kCFStreamSSLIsServer -extern NSString *const MGCDAsyncSocketSSLPeerID; -extern NSString *const MGCDAsyncSocketSSLProtocolVersionMin; -extern NSString *const MGCDAsyncSocketSSLProtocolVersionMax; -extern NSString *const MGCDAsyncSocketSSLSessionOptionFalseStart; -extern NSString *const MGCDAsyncSocketSSLSessionOptionSendOneByteRecord; -extern NSString *const MGCDAsyncSocketSSLCipherSuites; -extern NSString *const MGCDAsyncSocketSSLALPN; -#if !TARGET_OS_IPHONE -extern NSString *const MGCDAsyncSocketSSLDiffieHellmanParameters; -#endif - -#define MGCDAsyncSocketLoggingContext 65535 - - -typedef NS_ERROR_ENUM(MGCDAsyncSocketErrorDomain, MGCDAsyncSocketError) { - MGCDAsyncSocketNoError = 0, // Never used - MGCDAsyncSocketBadConfigError, // Invalid configuration - MGCDAsyncSocketBadParamError, // Invalid parameter was passed - MGCDAsyncSocketConnectTimeoutError, // A connect operation timed out - MGCDAsyncSocketReadTimeoutError, // A read operation timed out - MGCDAsyncSocketWriteTimeoutError, // A write operation timed out - MGCDAsyncSocketReadMaxedOutError, // Reached set maxLength without completing - MGCDAsyncSocketClosedError, // The remote peer closed the connection - MGCDAsyncSocketOtherError, // Description provided in userInfo -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -@interface MGCDAsyncSocket : NSObject - -/** - * MGCDAsyncSocket uses the standard delegate paradigm, - * but executes all delegate callbacks on a given delegate dispatch queue. - * This allows for maximum concurrency, while at the same time providing easy thread safety. - * - * You MUST set a delegate AND delegate dispatch queue before attempting to - * use the socket, or you will get an error. - * - * The socket queue is optional. - * If you pass NULL, MGCDAsyncSocket will automatically create it's own socket queue. - * If you choose to provide a socket queue, the socket queue must not be a concurrent queue. - * If you choose to provide a socket queue, and the socket queue has a configured target queue, - * then please see the discussion for the method markSocketQueueTargetQueue. - * - * The delegate queue and socket queue can optionally be the same. -**/ -- (instancetype)init; -- (instancetype)initWithSocketQueue:(nullable dispatch_queue_t)sq; -- (instancetype)initWithDelegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq; -- (instancetype)initWithDelegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq socketQueue:(nullable dispatch_queue_t)sq NS_DESIGNATED_INITIALIZER; - -/** - * Create MGCDAsyncSocket from already connect BSD socket file descriptor -**/ -+ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD socketQueue:(nullable dispatch_queue_t)sq error:(NSError**)error; - -+ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD delegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq error:(NSError**)error; - -+ (nullable instancetype)socketFromConnectedSocketFD:(int)socketFD delegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq socketQueue:(nullable dispatch_queue_t)sq error:(NSError **)error; - -#pragma mark Configuration - -@property (atomic, weak, readwrite, nullable) id delegate; -#if OS_OBJECT_USE_OBJC -@property (atomic, strong, readwrite, nullable) dispatch_queue_t delegateQueue; -#else -@property (atomic, assign, readwrite, nullable) dispatch_queue_t delegateQueue; -#endif - -- (void)getDelegate:(id __nullable * __nullable)delegatePtr delegateQueue:(dispatch_queue_t __nullable * __nullable)delegateQueuePtr; -- (void)setDelegate:(nullable id)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue; - -/** - * If you are setting the delegate to nil within the delegate's dealloc method, - * you may need to use the synchronous versions below. -**/ -- (void)synchronouslySetDelegate:(nullable id)delegate; -- (void)synchronouslySetDelegateQueue:(nullable dispatch_queue_t)delegateQueue; -- (void)synchronouslySetDelegate:(nullable id)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue; - -/** - * By default, both IPv4 and IPv6 are enabled. - * - * For accepting incoming connections, this means MGCDAsyncSocket automatically supports both protocols, - * and can simulataneously accept incoming connections on either protocol. - * - * For outgoing connections, this means MGCDAsyncSocket can connect to remote hosts running either protocol. - * If a DNS lookup returns only IPv4 results, MGCDAsyncSocket will automatically use IPv4. - * If a DNS lookup returns only IPv6 results, MGCDAsyncSocket will automatically use IPv6. - * If a DNS lookup returns both IPv4 and IPv6 results, the preferred protocol will be chosen. - * By default, the preferred protocol is IPv4, but may be configured as desired. -**/ - -@property (atomic, assign, readwrite, getter=isIPv4Enabled) BOOL IPv4Enabled; -@property (atomic, assign, readwrite, getter=isIPv6Enabled) BOOL IPv6Enabled; - -@property (atomic, assign, readwrite, getter=isIPv4PreferredOverIPv6) BOOL IPv4PreferredOverIPv6; - -/** - * When connecting to both IPv4 and IPv6 using Happy Eyeballs (RFC 6555) https://tools.ietf.org/html/rfc6555 - * this is the delay between connecting to the preferred protocol and the fallback protocol. - * - * Defaults to 300ms. -**/ -@property (atomic, assign, readwrite) NSTimeInterval alternateAddressDelay; - -/** - * User data allows you to associate arbitrary information with the socket. - * This data is not used internally by socket in any way. -**/ -@property (atomic, strong, readwrite, nullable) id userData; - -#pragma mark Accepting - -/** - * Tells the socket to begin listening and accepting connections on the given port. - * When a connection is accepted, a new instance of MGCDAsyncSocket will be spawned to handle it, - * and the socket:didAcceptNewSocket: delegate method will be invoked. - * - * The socket will listen on all available interfaces (e.g. wifi, ethernet, etc) -**/ -- (BOOL)acceptOnPort:(uint16_t)port error:(NSError **)errPtr; - -/** - * This method is the same as acceptOnPort:error: with the - * additional option of specifying which interface to listen on. - * - * For example, you could specify that the socket should only accept connections over ethernet, - * and not other interfaces such as wifi. - * - * The interface may be specified by name (e.g. "en1" or "lo0") or by IP address (e.g. "192.168.4.34"). - * You may also use the special strings "localhost" or "loopback" to specify that - * the socket only accept connections from the local machine. - * - * You can see the list of interfaces via the command line utility "ifconfig", - * or programmatically via the getifaddrs() function. - * - * To accept connections on any interface pass nil, or simply use the acceptOnPort:error: method. -**/ -- (BOOL)acceptOnInterface:(nullable NSString *)interface port:(uint16_t)port error:(NSError **)errPtr; - -/** - * Tells the socket to begin listening and accepting connections on the unix domain at the given url. - * When a connection is accepted, a new instance of MGCDAsyncSocket will be spawned to handle it, - * and the socket:didAcceptNewSocket: delegate method will be invoked. - * - * The socket will listen on all available interfaces (e.g. wifi, ethernet, etc) - **/ -- (BOOL)acceptOnUrl:(NSURL *)url error:(NSError **)errPtr; - -#pragma mark Connecting - -/** - * Connects to the given host and port. - * - * This method invokes connectToHost:onPort:viaInterface:withTimeout:error: - * and uses the default interface, and no timeout. -**/ -- (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port error:(NSError **)errPtr; - -/** - * Connects to the given host and port with an optional timeout. - * - * This method invokes connectToHost:onPort:viaInterface:withTimeout:error: and uses the default interface. -**/ -- (BOOL)connectToHost:(NSString *)host - onPort:(uint16_t)port - withTimeout:(NSTimeInterval)timeout - error:(NSError **)errPtr; - -/** - * Connects to the given host & port, via the optional interface, with an optional timeout. - * - * The host may be a domain name (e.g. "deusty.com") or an IP address string (e.g. "192.168.0.2"). - * The host may also be the special strings "localhost" or "loopback" to specify connecting - * to a service on the local machine. - * - * The interface may be a name (e.g. "en1" or "lo0") or the corresponding IP address (e.g. "192.168.4.35"). - * The interface may also be used to specify the local port (see below). - * - * To not time out use a negative time interval. - * - * This method will return NO if an error is detected, and set the error pointer (if one was given). - * Possible errors would be a nil host, invalid interface, or socket is already connected. - * - * If no errors are detected, this method will start a background connect operation and immediately return YES. - * The delegate callbacks are used to notify you when the socket connects, or if the host was unreachable. - * - * Since this class supports queued reads and writes, you can immediately start reading and/or writing. - * All read/write operations will be queued, and upon socket connection, - * the operations will be dequeued and processed in order. - * - * The interface may optionally contain a port number at the end of the string, separated by a colon. - * This allows you to specify the local port that should be used for the outgoing connection. (read paragraph to end) - * To specify both interface and local port: "en1:8082" or "192.168.4.35:2424". - * To specify only local port: ":8082". - * Please note this is an advanced feature, and is somewhat hidden on purpose. - * You should understand that 99.999% of the time you should NOT specify the local port for an outgoing connection. - * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere. - * Local ports do NOT need to match remote ports. In fact, they almost never do. - * This feature is here for networking professionals using very advanced techniques. -**/ -- (BOOL)connectToHost:(NSString *)host - onPort:(uint16_t)port - viaInterface:(nullable NSString *)interface - withTimeout:(NSTimeInterval)timeout - error:(NSError **)errPtr; - -/** - * Connects to the given address, specified as a sockaddr structure wrapped in a NSData object. - * For example, a NSData object returned from NSNetService's addresses method. - * - * If you have an existing struct sockaddr you can convert it to a NSData object like so: - * struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len]; - * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; - * - * This method invokes connectToAddress:remoteAddr viaInterface:nil withTimeout:-1 error:errPtr. -**/ -- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr; - -/** - * This method is the same as connectToAddress:error: with an additional timeout option. - * To not time out use a negative time interval, or simply use the connectToAddress:error: method. -**/ -- (BOOL)connectToAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr; - -/** - * Connects to the given address, using the specified interface and timeout. - * - * The address is specified as a sockaddr structure wrapped in a NSData object. - * For example, a NSData object returned from NSNetService's addresses method. - * - * If you have an existing struct sockaddr you can convert it to a NSData object like so: - * struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len]; - * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; - * - * The interface may be a name (e.g. "en1" or "lo0") or the corresponding IP address (e.g. "192.168.4.35"). - * The interface may also be used to specify the local port (see below). - * - * The timeout is optional. To not time out use a negative time interval. - * - * This method will return NO if an error is detected, and set the error pointer (if one was given). - * Possible errors would be a nil host, invalid interface, or socket is already connected. - * - * If no errors are detected, this method will start a background connect operation and immediately return YES. - * The delegate callbacks are used to notify you when the socket connects, or if the host was unreachable. - * - * Since this class supports queued reads and writes, you can immediately start reading and/or writing. - * All read/write operations will be queued, and upon socket connection, - * the operations will be dequeued and processed in order. - * - * The interface may optionally contain a port number at the end of the string, separated by a colon. - * This allows you to specify the local port that should be used for the outgoing connection. (read paragraph to end) - * To specify both interface and local port: "en1:8082" or "192.168.4.35:2424". - * To specify only local port: ":8082". - * Please note this is an advanced feature, and is somewhat hidden on purpose. - * You should understand that 99.999% of the time you should NOT specify the local port for an outgoing connection. - * If you think you need to, there is a very good chance you have a fundamental misunderstanding somewhere. - * Local ports do NOT need to match remote ports. In fact, they almost never do. - * This feature is here for networking professionals using very advanced techniques. -**/ -- (BOOL)connectToAddress:(NSData *)remoteAddr - viaInterface:(nullable NSString *)interface - withTimeout:(NSTimeInterval)timeout - error:(NSError **)errPtr; -/** - * Connects to the unix domain socket at the given url, using the specified timeout. - */ -- (BOOL)connectToUrl:(NSURL *)url withTimeout:(NSTimeInterval)timeout error:(NSError **)errPtr; - -/** - * Iterates over the given NetService's addresses in order, and invokes connectToAddress:error:. Stops at the - * first invocation that succeeds and returns YES; otherwise returns NO. - */ -- (BOOL)connectToNetService:(NSNetService *)netService error:(NSError **)errPtr; - -#pragma mark Disconnecting - -/** - * Disconnects immediately (synchronously). Any pending reads or writes are dropped. - * - * If the socket is not already disconnected, an invocation to the socketDidDisconnect:withError: delegate method - * will be queued onto the delegateQueue asynchronously (behind any previously queued delegate methods). - * In other words, the disconnected delegate method will be invoked sometime shortly after this method returns. - * - * Please note the recommended way of releasing a MGCDAsyncSocket instance (e.g. in a dealloc method) - * [asyncSocket setDelegate:nil]; - * [asyncSocket disconnect]; - * [asyncSocket release]; - * - * If you plan on disconnecting the socket, and then immediately asking it to connect again, - * you'll likely want to do so like this: - * [asyncSocket setDelegate:nil]; - * [asyncSocket disconnect]; - * [asyncSocket setDelegate:self]; - * [asyncSocket connect...]; -**/ -- (void)disconnect; - -/** - * Disconnects after all pending reads have completed. - * After calling this, the read and write methods will do nothing. - * The socket will disconnect even if there are still pending writes. -**/ -- (void)disconnectAfterReading; - -/** - * Disconnects after all pending writes have completed. - * After calling this, the read and write methods will do nothing. - * The socket will disconnect even if there are still pending reads. -**/ -- (void)disconnectAfterWriting; - -/** - * Disconnects after all pending reads and writes have completed. - * After calling this, the read and write methods will do nothing. -**/ -- (void)disconnectAfterReadingAndWriting; - -#pragma mark Diagnostics - -/** - * Returns whether the socket is disconnected or connected. - * - * A disconnected socket may be recycled. - * That is, it can be used again for connecting or listening. - * - * If a socket is in the process of connecting, it may be neither disconnected nor connected. -**/ -@property (atomic, readonly) BOOL isDisconnected; -@property (atomic, readonly) BOOL isConnected; - -/** - * Returns the local or remote host and port to which this socket is connected, or nil and 0 if not connected. - * The host will be an IP address. -**/ -@property (atomic, readonly, nullable) NSString *connectedHost; -@property (atomic, readonly) uint16_t connectedPort; -@property (atomic, readonly, nullable) NSURL *connectedUrl; - -@property (atomic, readonly, nullable) NSString *localHost; -@property (atomic, readonly) uint16_t localPort; - -/** - * Returns the local or remote address to which this socket is connected, - * specified as a sockaddr structure wrapped in a NSData object. - * - * @seealso connectedHost - * @seealso connectedPort - * @seealso localHost - * @seealso localPort -**/ -@property (atomic, readonly, nullable) NSData *connectedAddress; -@property (atomic, readonly, nullable) NSData *localAddress; - -/** - * Returns whether the socket is IPv4 or IPv6. - * An accepting socket may be both. -**/ -@property (atomic, readonly) BOOL isIPv4; -@property (atomic, readonly) BOOL isIPv6; - -/** - * Returns whether or not the socket has been secured via SSL/TLS. - * - * See also the startTLS method. -**/ -@property (atomic, readonly) BOOL isSecure; - -#pragma mark Reading - -// The readData and writeData methods won't block (they are asynchronous). -// -// When a read is complete the socket:didReadData:withTag: delegate method is dispatched on the delegateQueue. -// When a write is complete the socket:didWriteDataWithTag: delegate method is dispatched on the delegateQueue. -// -// You may optionally set a timeout for any read/write operation. (To not timeout, use a negative time interval.) -// If a read/write opertion times out, the corresponding "socket:shouldTimeout..." delegate method -// is called to optionally allow you to extend the timeout. -// Upon a timeout, the "socket:didDisconnectWithError:" method is called -// -// The tag is for your convenience. -// You can use it as an array index, step number, state id, pointer, etc. - -/** - * Reads the first available bytes that become available on the socket. - * - * If the timeout value is negative, the read operation will not use a timeout. -**/ -- (void)readDataWithTimeout:(NSTimeInterval)timeout tag:(long)tag; - -/** - * Reads the first available bytes that become available on the socket. - * The bytes will be appended to the given byte buffer starting at the given offset. - * The given buffer will automatically be increased in size if needed. - * - * If the timeout value is negative, the read operation will not use a timeout. - * If the buffer is nil, the socket will create a buffer for you. - * - * If the bufferOffset is greater than the length of the given buffer, - * the method will do nothing, and the delegate will not be called. - * - * If you pass a buffer, you must not alter it in any way while the socket is using it. - * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. - * That is, it will reference the bytes that were appended to the given buffer via - * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. -**/ -- (void)readDataWithTimeout:(NSTimeInterval)timeout - buffer:(nullable NSMutableData *)buffer - bufferOffset:(NSUInteger)offset - tag:(long)tag; - -/** - * Reads the first available bytes that become available on the socket. - * The bytes will be appended to the given byte buffer starting at the given offset. - * The given buffer will automatically be increased in size if needed. - * A maximum of length bytes will be read. - * - * If the timeout value is negative, the read operation will not use a timeout. - * If the buffer is nil, a buffer will automatically be created for you. - * If maxLength is zero, no length restriction is enforced. - * - * If the bufferOffset is greater than the length of the given buffer, - * the method will do nothing, and the delegate will not be called. - * - * If you pass a buffer, you must not alter it in any way while the socket is using it. - * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. - * That is, it will reference the bytes that were appended to the given buffer via - * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. -**/ -- (void)readDataWithTimeout:(NSTimeInterval)timeout - buffer:(nullable NSMutableData *)buffer - bufferOffset:(NSUInteger)offset - maxLength:(NSUInteger)length - tag:(long)tag; - -/** - * Reads the given number of bytes. - * - * If the timeout value is negative, the read operation will not use a timeout. - * - * If the length is 0, this method does nothing and the delegate is not called. -**/ -- (void)readDataToLength:(NSUInteger)length withTimeout:(NSTimeInterval)timeout tag:(long)tag; - -/** - * Reads the given number of bytes. - * The bytes will be appended to the given byte buffer starting at the given offset. - * The given buffer will automatically be increased in size if needed. - * - * If the timeout value is negative, the read operation will not use a timeout. - * If the buffer is nil, a buffer will automatically be created for you. - * - * If the length is 0, this method does nothing and the delegate is not called. - * If the bufferOffset is greater than the length of the given buffer, - * the method will do nothing, and the delegate will not be called. - * - * If you pass a buffer, you must not alter it in any way while AsyncSocket is using it. - * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. - * That is, it will reference the bytes that were appended to the given buffer via - * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. -**/ -- (void)readDataToLength:(NSUInteger)length - withTimeout:(NSTimeInterval)timeout - buffer:(nullable NSMutableData *)buffer - bufferOffset:(NSUInteger)offset - tag:(long)tag; - -/** - * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. - * - * If the timeout value is negative, the read operation will not use a timeout. - * - * If you pass nil or zero-length data as the "data" parameter, - * the method will do nothing (except maybe print a warning), and the delegate will not be called. - * - * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. - * If you're developing your own custom protocol, be sure your separator can not occur naturally as - * part of the data between separators. - * For example, imagine you want to send several small documents over a socket. - * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. - * In this particular example, it would be better to use a protocol similar to HTTP with - * a header that includes the length of the document. - * Also be careful that your separator cannot occur naturally as part of the encoding for a character. - * - * The given data (separator) parameter should be immutable. - * For performance reasons, the socket will retain it, not copy it. - * So if it is immutable, don't modify it while the socket is using it. -**/ -- (void)readDataToData:(nullable NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; - -/** - * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. - * The bytes will be appended to the given byte buffer starting at the given offset. - * The given buffer will automatically be increased in size if needed. - * - * If the timeout value is negative, the read operation will not use a timeout. - * If the buffer is nil, a buffer will automatically be created for you. - * - * If the bufferOffset is greater than the length of the given buffer, - * the method will do nothing (except maybe print a warning), and the delegate will not be called. - * - * If you pass a buffer, you must not alter it in any way while the socket is using it. - * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. - * That is, it will reference the bytes that were appended to the given buffer via - * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. - * - * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. - * If you're developing your own custom protocol, be sure your separator can not occur naturally as - * part of the data between separators. - * For example, imagine you want to send several small documents over a socket. - * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. - * In this particular example, it would be better to use a protocol similar to HTTP with - * a header that includes the length of the document. - * Also be careful that your separator cannot occur naturally as part of the encoding for a character. - * - * The given data (separator) parameter should be immutable. - * For performance reasons, the socket will retain it, not copy it. - * So if it is immutable, don't modify it while the socket is using it. -**/ -- (void)readDataToData:(NSData *)data - withTimeout:(NSTimeInterval)timeout - buffer:(nullable NSMutableData *)buffer - bufferOffset:(NSUInteger)offset - tag:(long)tag; - -/** - * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. - * - * If the timeout value is negative, the read operation will not use a timeout. - * - * If maxLength is zero, no length restriction is enforced. - * Otherwise if maxLength bytes are read without completing the read, - * it is treated similarly to a timeout - the socket is closed with a MGCDAsyncSocketReadMaxedOutError. - * The read will complete successfully if exactly maxLength bytes are read and the given data is found at the end. - * - * If you pass nil or zero-length data as the "data" parameter, - * the method will do nothing (except maybe print a warning), and the delegate will not be called. - * If you pass a maxLength parameter that is less than the length of the data parameter, - * the method will do nothing (except maybe print a warning), and the delegate will not be called. - * - * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. - * If you're developing your own custom protocol, be sure your separator can not occur naturally as - * part of the data between separators. - * For example, imagine you want to send several small documents over a socket. - * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. - * In this particular example, it would be better to use a protocol similar to HTTP with - * a header that includes the length of the document. - * Also be careful that your separator cannot occur naturally as part of the encoding for a character. - * - * The given data (separator) parameter should be immutable. - * For performance reasons, the socket will retain it, not copy it. - * So if it is immutable, don't modify it while the socket is using it. -**/ -- (void)readDataToData:(NSData *)data withTimeout:(NSTimeInterval)timeout maxLength:(NSUInteger)length tag:(long)tag; - -/** - * Reads bytes until (and including) the passed "data" parameter, which acts as a separator. - * The bytes will be appended to the given byte buffer starting at the given offset. - * The given buffer will automatically be increased in size if needed. - * - * If the timeout value is negative, the read operation will not use a timeout. - * If the buffer is nil, a buffer will automatically be created for you. - * - * If maxLength is zero, no length restriction is enforced. - * Otherwise if maxLength bytes are read without completing the read, - * it is treated similarly to a timeout - the socket is closed with a MGCDAsyncSocketReadMaxedOutError. - * The read will complete successfully if exactly maxLength bytes are read and the given data is found at the end. - * - * If you pass a maxLength parameter that is less than the length of the data (separator) parameter, - * the method will do nothing (except maybe print a warning), and the delegate will not be called. - * If the bufferOffset is greater than the length of the given buffer, - * the method will do nothing (except maybe print a warning), and the delegate will not be called. - * - * If you pass a buffer, you must not alter it in any way while the socket is using it. - * After completion, the data returned in socket:didReadData:withTag: will be a subset of the given buffer. - * That is, it will reference the bytes that were appended to the given buffer via - * the method [NSData dataWithBytesNoCopy:length:freeWhenDone:NO]. - * - * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. - * If you're developing your own custom protocol, be sure your separator can not occur naturally as - * part of the data between separators. - * For example, imagine you want to send several small documents over a socket. - * Using CRLF as a separator is likely unwise, as a CRLF could easily exist within the documents. - * In this particular example, it would be better to use a protocol similar to HTTP with - * a header that includes the length of the document. - * Also be careful that your separator cannot occur naturally as part of the encoding for a character. - * - * The given data (separator) parameter should be immutable. - * For performance reasons, the socket will retain it, not copy it. - * So if it is immutable, don't modify it while the socket is using it. -**/ -- (void)readDataToData:(NSData *)data - withTimeout:(NSTimeInterval)timeout - buffer:(nullable NSMutableData *)buffer - bufferOffset:(NSUInteger)offset - maxLength:(NSUInteger)length - tag:(long)tag; - -/** - * Returns progress of the current read, from 0.0 to 1.0, or NaN if no current read (use isnan() to check). - * The parameters "tag", "done" and "total" will be filled in if they aren't NULL. -**/ -- (float)progressOfReadReturningTag:(nullable long *)tagPtr bytesDone:(nullable NSUInteger *)donePtr total:(nullable NSUInteger *)totalPtr; - -#pragma mark Writing - -/** - * Writes data to the socket, and calls the delegate when finished. - * - * If you pass in nil or zero-length data, this method does nothing and the delegate will not be called. - * If the timeout value is negative, the write operation will not use a timeout. - * - * Thread-Safety Note: - * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while - * the socket is writing it. In other words, it's not safe to alter the data until after the delegate method - * socket:didWriteDataWithTag: is invoked signifying that this particular write operation has completed. - * This is due to the fact that MGCDAsyncSocket does NOT copy the data. It simply retains it. - * This is for performance reasons. Often times, if NSMutableData is passed, it is because - * a request/response was built up in memory. Copying this data adds an unwanted/unneeded overhead. - * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket - * completes writing the bytes (which is NOT immediately after this method returns, but rather at a later time - * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method. -**/ -- (void)writeData:(nullable NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; - -/** - * Returns progress of the current write, from 0.0 to 1.0, or NaN if no current write (use isnan() to check). - * The parameters "tag", "done" and "total" will be filled in if they aren't NULL. -**/ -- (float)progressOfWriteReturningTag:(nullable long *)tagPtr bytesDone:(nullable NSUInteger *)donePtr total:(nullable NSUInteger *)totalPtr; - -#pragma mark Security - -/** - * Secures the connection using SSL/TLS. - * - * This method may be called at any time, and the TLS handshake will occur after all pending reads and writes - * are finished. This allows one the option of sending a protocol dependent StartTLS message, and queuing - * the upgrade to TLS at the same time, without having to wait for the write to finish. - * Any reads or writes scheduled after this method is called will occur over the secured connection. - * - * ==== The available TOP-LEVEL KEYS are: - * - * - MGCDAsyncSocketManuallyEvaluateTrust - * The value must be of type NSNumber, encapsulating a BOOL value. - * If you set this to YES, then the underlying SecureTransport system will not evaluate the SecTrustRef of the peer. - * Instead it will pause at the moment evaulation would typically occur, - * and allow us to handle the security evaluation however we see fit. - * So MGCDAsyncSocket will invoke the delegate method socket:shouldTrustPeer: passing the SecTrustRef. - * - * Note that if you set this option, then all other configuration keys are ignored. - * Evaluation will be completely up to you during the socket:didReceiveTrust:completionHandler: delegate method. - * - * For more information on trust evaluation see: - * Apple's Technical Note TN2232 - HTTPS Server Trust Evaluation - * https://developer.apple.com/library/ios/technotes/tn2232/_index.html - * - * If unspecified, the default value is NO. - * - * - MGCDAsyncSocketUseCFStreamForTLS (iOS only) - * The value must be of type NSNumber, encapsulating a BOOL value. - * By default MGCDAsyncSocket will use the SecureTransport layer to perform encryption. - * This gives us more control over the security protocol (many more configuration options), - * plus it allows us to optimize things like sys calls and buffer allocation. - * - * However, if you absolutely must, you can instruct MGCDAsyncSocket to use the old-fashioned encryption - * technique by going through the CFStream instead. So instead of using SecureTransport, MGCDAsyncSocket - * will instead setup a CFRead/CFWriteStream. And then set the kCFStreamPropertySSLSettings property - * (via CFReadStreamSetProperty / CFWriteStreamSetProperty) and will pass the given options to this method. - * - * Thus all the other keys in the given dictionary will be ignored by MGCDAsyncSocket, - * and will passed directly CFReadStreamSetProperty / CFWriteStreamSetProperty. - * For more infomation on these keys, please see the documentation for kCFStreamPropertySSLSettings. - * - * If unspecified, the default value is NO. - * - * ==== The available CONFIGURATION KEYS are: - * - * - kCFStreamSSLPeerName - * The value must be of type NSString. - * It should match the name in the X.509 certificate given by the remote party. - * See Apple's documentation for SSLSetPeerDomainName. - * - * - kCFStreamSSLCertificates - * The value must be of type NSArray. - * See Apple's documentation for SSLSetCertificate. - * - * - kCFStreamSSLIsServer - * The value must be of type NSNumber, encapsulationg a BOOL value. - * See Apple's documentation for SSLCreateContext for iOS. - * This is optional for iOS. If not supplied, a NO value is the default. - * This is not needed for Mac OS X, and the value is ignored. - * - * - MGCDAsyncSocketSSLPeerID - * The value must be of type NSData. - * You must set this value if you want to use TLS session resumption. - * See Apple's documentation for SSLSetPeerID. - * - * - MGCDAsyncSocketSSLProtocolVersionMin - * - MGCDAsyncSocketSSLProtocolVersionMax - * The value(s) must be of type NSNumber, encapsulting a SSLProtocol value. - * See Apple's documentation for SSLSetProtocolVersionMin & SSLSetProtocolVersionMax. - * See also the SSLProtocol typedef. - * - * - MGCDAsyncSocketSSLSessionOptionFalseStart - * The value must be of type NSNumber, encapsulating a BOOL value. - * See Apple's documentation for kSSLSessionOptionFalseStart. - * - * - MGCDAsyncSocketSSLSessionOptionSendOneByteRecord - * The value must be of type NSNumber, encapsulating a BOOL value. - * See Apple's documentation for kSSLSessionOptionSendOneByteRecord. - * - * - MGCDAsyncSocketSSLCipherSuites - * The values must be of type NSArray. - * Each item within the array must be a NSNumber, encapsulating an SSLCipherSuite. - * See Apple's documentation for SSLSetEnabledCiphers. - * See also the SSLCipherSuite typedef. - * - * - MGCDAsyncSocketSSLDiffieHellmanParameters (Mac OS X only) - * The value must be of type NSData. - * See Apple's documentation for SSLSetDiffieHellmanParams. - * - * ==== The following UNAVAILABLE KEYS are: (with throw an exception) - * - * - kCFStreamSSLAllowsAnyRoot (UNAVAILABLE) - * You MUST use manual trust evaluation instead (see MGCDAsyncSocketManuallyEvaluateTrust). - * Corresponding deprecated method: SSLSetAllowsAnyRoot - * - * - kCFStreamSSLAllowsExpiredRoots (UNAVAILABLE) - * You MUST use manual trust evaluation instead (see MGCDAsyncSocketManuallyEvaluateTrust). - * Corresponding deprecated method: SSLSetAllowsExpiredRoots - * - * - kCFStreamSSLAllowsExpiredCertificates (UNAVAILABLE) - * You MUST use manual trust evaluation instead (see MGCDAsyncSocketManuallyEvaluateTrust). - * Corresponding deprecated method: SSLSetAllowsExpiredCerts - * - * - kCFStreamSSLValidatesCertificateChain (UNAVAILABLE) - * You MUST use manual trust evaluation instead (see MGCDAsyncSocketManuallyEvaluateTrust). - * Corresponding deprecated method: SSLSetEnableCertVerify - * - * - kCFStreamSSLLevel (UNAVAILABLE) - * You MUST use MGCDAsyncSocketSSLProtocolVersionMin & MGCDAsyncSocketSSLProtocolVersionMin instead. - * Corresponding deprecated method: SSLSetProtocolVersionEnabled - * - * - * Please refer to Apple's documentation for corresponding SSLFunctions. - * - * If you pass in nil or an empty dictionary, the default settings will be used. - * - * IMPORTANT SECURITY NOTE: - * The default settings will check to make sure the remote party's certificate is signed by a - * trusted 3rd party certificate agency (e.g. verisign) and that the certificate is not expired. - * However it will not verify the name on the certificate unless you - * give it a name to verify against via the kCFStreamSSLPeerName key. - * The security implications of this are important to understand. - * Imagine you are attempting to create a secure connection to MySecureServer.com, - * but your socket gets directed to MaliciousServer.com because of a hacked DNS server. - * If you simply use the default settings, and MaliciousServer.com has a valid certificate, - * the default settings will not detect any problems since the certificate is valid. - * To properly secure your connection in this particular scenario you - * should set the kCFStreamSSLPeerName property to "MySecureServer.com". - * - * You can also perform additional validation in socketDidSecure. -**/ -- (void)startTLS:(nullable NSDictionary *)tlsSettings; - -#pragma mark Advanced - -/** - * Traditionally sockets are not closed until the conversation is over. - * However, it is technically possible for the remote enpoint to close its write stream. - * Our socket would then be notified that there is no more data to be read, - * but our socket would still be writeable and the remote endpoint could continue to receive our data. - * - * The argument for this confusing functionality stems from the idea that a client could shut down its - * write stream after sending a request to the server, thus notifying the server there are to be no further requests. - * In practice, however, this technique did little to help server developers. - * - * To make matters worse, from a TCP perspective there is no way to tell the difference from a read stream close - * and a full socket close. They both result in the TCP stack receiving a FIN packet. The only way to tell - * is by continuing to write to the socket. If it was only a read stream close, then writes will continue to work. - * Otherwise an error will be occur shortly (when the remote end sends us a RST packet). - * - * In addition to the technical challenges and confusion, many high level socket/stream API's provide - * no support for dealing with the problem. If the read stream is closed, the API immediately declares the - * socket to be closed, and shuts down the write stream as well. In fact, this is what Apple's CFStream API does. - * It might sound like poor design at first, but in fact it simplifies development. - * - * The vast majority of the time if the read stream is closed it's because the remote endpoint closed its socket. - * Thus it actually makes sense to close the socket at this point. - * And in fact this is what most networking developers want and expect to happen. - * However, if you are writing a server that interacts with a plethora of clients, - * you might encounter a client that uses the discouraged technique of shutting down its write stream. - * If this is the case, you can set this property to NO, - * and make use of the socketDidCloseReadStream delegate method. - * - * The default value is YES. -**/ -@property (atomic, assign, readwrite) BOOL autoDisconnectOnClosedReadStream; - -/** - * MGCDAsyncSocket maintains thread safety by using an internal serial dispatch_queue. - * In most cases, the instance creates this queue itself. - * However, to allow for maximum flexibility, the internal queue may be passed in the init method. - * This allows for some advanced options such as controlling socket priority via target queues. - * However, when one begins to use target queues like this, they open the door to some specific deadlock issues. - * - * For example, imagine there are 2 queues: - * dispatch_queue_t socketQueue; - * dispatch_queue_t socketTargetQueue; - * - * If you do this (pseudo-code): - * socketQueue.targetQueue = socketTargetQueue; - * - * Then all socketQueue operations will actually get run on the given socketTargetQueue. - * This is fine and works great in most situations. - * But if you run code directly from within the socketTargetQueue that accesses the socket, - * you could potentially get deadlock. Imagine the following code: - * - * - (BOOL)socketHasSomething - * { - * __block BOOL result = NO; - * dispatch_block_t block = ^{ - * result = [self someInternalMethodToBeRunOnlyOnSocketQueue]; - * } - * if (is_executing_on_queue(socketQueue)) - * block(); - * else - * dispatch_sync(socketQueue, block); - * - * return result; - * } - * - * What happens if you call this method from the socketTargetQueue? The result is deadlock. - * This is because the MGCD API offers no mechanism to discover a queue's targetQueue. - * Thus we have no idea if our socketQueue is configured with a targetQueue. - * If we had this information, we could easily avoid deadlock. - * But, since these API's are missing or unfeasible, you'll have to explicitly set it. - * - * IF you pass a socketQueue via the init method, - * AND you've configured the passed socketQueue with a targetQueue, - * THEN you should pass the end queue in the target hierarchy. - * - * For example, consider the following queue hierarchy: - * socketQueue -> ipQueue -> moduleQueue - * - * This example demonstrates priority shaping within some server. - * All incoming client connections from the same IP address are executed on the same target queue. - * And all connections for a particular module are executed on the same target queue. - * Thus, the priority of all networking for the entire module can be changed on the fly. - * Additionally, networking traffic from a single IP cannot monopolize the module. - * - * Here's how you would accomplish something like that: - * - (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(MGCDAsyncSocket *)sock - * { - * dispatch_queue_t socketQueue = dispatch_queue_create("", NULL); - * dispatch_queue_t ipQueue = [self ipQueueForAddress:address]; - * - * dispatch_set_target_queue(socketQueue, ipQueue); - * dispatch_set_target_queue(iqQueue, moduleQueue); - * - * return socketQueue; - * } - * - (void)socket:(MGCDAsyncSocket *)sock didAcceptNewSocket:(MGCDAsyncSocket *)newSocket - * { - * [clientConnections addObject:newSocket]; - * [newSocket markSocketQueueTargetQueue:moduleQueue]; - * } - * - * Note: This workaround is ONLY needed if you intend to execute code directly on the ipQueue or moduleQueue. - * This is often NOT the case, as such queues are used solely for execution shaping. -**/ -- (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreConfiguredTargetQueue; -- (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreviouslyConfiguredTargetQueue; - -/** - * It's not thread-safe to access certain variables from outside the socket's internal queue. - * - * For example, the socket file descriptor. - * File descriptors are simply integers which reference an index in the per-process file table. - * However, when one requests a new file descriptor (by opening a file or socket), - * the file descriptor returned is guaranteed to be the lowest numbered unused descriptor. - * So if we're not careful, the following could be possible: - * - * - Thread A invokes a method which returns the socket's file descriptor. - * - The socket is closed via the socket's internal queue on thread B. - * - Thread C opens a file, and subsequently receives the file descriptor that was previously the socket's FD. - * - Thread A is now accessing/altering the file instead of the socket. - * - * In addition to this, other variables are not actually objects, - * and thus cannot be retained/released or even autoreleased. - * An example is the sslContext, of type SSLContextRef, which is actually a malloc'd struct. - * - * Although there are internal variables that make it difficult to maintain thread-safety, - * it is important to provide access to these variables - * to ensure this class can be used in a wide array of environments. - * This method helps to accomplish this by invoking the current block on the socket's internal queue. - * The methods below can be invoked from within the block to access - * those generally thread-unsafe internal variables in a thread-safe manner. - * The given block will be invoked synchronously on the socket's internal queue. - * - * If you save references to any protected variables and use them outside the block, you do so at your own peril. -**/ -- (void)performBlock:(dispatch_block_t)block; - -/** - * These methods are only available from within the context of a performBlock: invocation. - * See the documentation for the performBlock: method above. - * - * Provides access to the socket's file descriptor(s). - * If the socket is a server socket (is accepting incoming connections), - * it might actually have multiple internal socket file descriptors - one for IPv4 and one for IPv6. -**/ -- (int)socketFD; -- (int)socket4FD; -- (int)socket6FD; - -#if TARGET_OS_IPHONE - -/** - * These methods are only available from within the context of a performBlock: invocation. - * See the documentation for the performBlock: method above. - * - * Provides access to the socket's internal CFReadStream/CFWriteStream. - * - * These streams are only used as workarounds for specific iOS shortcomings: - * - * - Apple has decided to keep the SecureTransport framework private is iOS. - * This means the only supplied way to do SSL/TLS is via CFStream or some other API layered on top of it. - * Thus, in order to provide SSL/TLS support on iOS we are forced to rely on CFStream, - * instead of the preferred and faster and more powerful SecureTransport. - * - * - If a socket doesn't have backgrounding enabled, and that socket is closed while the app is backgrounded, - * Apple only bothers to notify us via the CFStream API. - * The faster and more powerful MGCD API isn't notified properly in this case. - * - * See also: (BOOL)enableBackgroundingOnSocket -**/ -- (nullable CFReadStreamRef)readStream; -- (nullable CFWriteStreamRef)writeStream; - -/** - * This method is only available from within the context of a performBlock: invocation. - * See the documentation for the performBlock: method above. - * - * Configures the socket to allow it to operate when the iOS application has been backgrounded. - * In other words, this method creates a read & write stream, and invokes: - * - * CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeBackground); - * CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeBackground); - * - * Returns YES if successful, NO otherwise. - * - * Note: Apple does not officially support backgrounding server sockets. - * That is, if your socket is accepting incoming connections, Apple does not officially support - * allowing iOS applications to accept incoming connections while an app is backgrounded. - * - * Example usage: - * - * - (void)socket:(MGCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port - * { - * [asyncSocket performBlock:^{ - * [asyncSocket enableBackgroundingOnSocket]; - * }]; - * } -**/ -- (BOOL)enableBackgroundingOnSocket; - -#endif - -/** - * This method is only available from within the context of a performBlock: invocation. - * See the documentation for the performBlock: method above. - * - * Provides access to the socket's SSLContext, if SSL/TLS has been started on the socket. -**/ -- (nullable SSLContextRef)sslContext; - -#pragma mark Utilities - -/** - * The address lookup utility used by the class. - * This method is synchronous, so it's recommended you use it on a background thread/queue. - * - * The special strings "localhost" and "loopback" return the loopback address for IPv4 and IPv6. - * - * @returns - * A mutable array with all IPv4 and IPv6 addresses returned by getaddrinfo. - * The addresses are specifically for TCP connections. - * You can filter the addresses, if needed, using the other utility methods provided by the class. -**/ -+ (nullable NSMutableArray *)lookupHost:(NSString *)host port:(uint16_t)port error:(NSError **)errPtr; - -/** - * Extracting host and port information from raw address data. -**/ - -+ (nullable NSString *)hostFromAddress:(NSData *)address; -+ (uint16_t)portFromAddress:(NSData *)address; - -+ (BOOL)isIPv4Address:(NSData *)address; -+ (BOOL)isIPv6Address:(NSData *)address; - -+ (BOOL)getHost:( NSString * __nullable * __nullable)hostPtr port:(nullable uint16_t *)portPtr fromAddress:(NSData *)address; - -+ (BOOL)getHost:(NSString * __nullable * __nullable)hostPtr port:(nullable uint16_t *)portPtr family:(nullable sa_family_t *)afPtr fromAddress:(NSData *)address; - -/** - * A few common line separators, for use with the readDataToData:... methods. -**/ -+ (NSData *)CRLFData; // 0x0D0A -+ (NSData *)CRData; // 0x0D -+ (NSData *)LFData; // 0x0A -+ (NSData *)ZeroData; // 0x00 - -@end - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -@protocol MGCDAsyncSocketDelegate -@optional - -/** - * This method is called immediately prior to socket:didAcceptNewSocket:. - * It optionally allows a listening socket to specify the socketQueue for a new accepted socket. - * If this method is not implemented, or returns NULL, the new accepted socket will create its own default queue. - * - * Since you cannot autorelease a dispatch_queue, - * this method uses the "new" prefix in its name to specify that the returned queue has been retained. - * - * Thus you could do something like this in the implementation: - * return dispatch_queue_create("MyQueue", NULL); - * - * If you are placing multiple sockets on the same queue, - * then care should be taken to increment the retain count each time this method is invoked. - * - * For example, your implementation might look something like this: - * dispatch_retain(myExistingQueue); - * return myExistingQueue; -**/ -- (nullable dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(MGCDAsyncSocket *)sock; - -/** - * Called when a socket accepts a connection. - * Another socket is automatically spawned to handle it. - * - * You must retain the newSocket if you wish to handle the connection. - * Otherwise the newSocket instance will be released and the spawned connection will be closed. - * - * By default the new socket will have the same delegate and delegateQueue. - * You may, of course, change this at any time. -**/ -- (void)socket:(MGCDAsyncSocket *)sock didAcceptNewSocket:(MGCDAsyncSocket *)newSocket; - -/** - * Called when a socket connects and is ready for reading and writing. - * The host parameter will be an IP address, not a DNS name. -**/ -- (void)socket:(MGCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port; - -/** - * Called when a socket connects and is ready for reading and writing. - * The host parameter will be an IP address, not a DNS name. - **/ -- (void)socket:(MGCDAsyncSocket *)sock didConnectToUrl:(NSURL *)url; - -/** - * Called when a socket has completed reading the requested data into memory. - * Not called if there is an error. -**/ -- (void)socket:(MGCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag; - -/** - * Called when a socket has read in data, but has not yet completed the read. - * This would occur if using readToData: or readToLength: methods. - * It may be used for things such as updating progress bars. -**/ -- (void)socket:(MGCDAsyncSocket *)sock didReadPartialDataOfLength:(NSUInteger)partialLength tag:(long)tag; - -/** - * Called when a socket has completed writing the requested data. Not called if there is an error. -**/ -- (void)socket:(MGCDAsyncSocket *)sock didWriteDataWithTag:(long)tag; - -/** - * Called when a socket has written some data, but has not yet completed the entire write. - * It may be used for things such as updating progress bars. -**/ -- (void)socket:(MGCDAsyncSocket *)sock didWritePartialDataOfLength:(NSUInteger)partialLength tag:(long)tag; - -/** - * Called if a read operation has reached its timeout without completing. - * This method allows you to optionally extend the timeout. - * If you return a positive time interval (> 0) the read's timeout will be extended by the given amount. - * If you don't implement this method, or return a non-positive time interval (<= 0) the read will timeout as usual. - * - * The elapsed parameter is the sum of the original timeout, plus any additions previously added via this method. - * The length parameter is the number of bytes that have been read so far for the read operation. - * - * Note that this method may be called multiple times for a single read if you return positive numbers. -**/ -- (NSTimeInterval)socket:(MGCDAsyncSocket *)sock shouldTimeoutReadWithTag:(long)tag - elapsed:(NSTimeInterval)elapsed - bytesDone:(NSUInteger)length; - -/** - * Called if a write operation has reached its timeout without completing. - * This method allows you to optionally extend the timeout. - * If you return a positive time interval (> 0) the write's timeout will be extended by the given amount. - * If you don't implement this method, or return a non-positive time interval (<= 0) the write will timeout as usual. - * - * The elapsed parameter is the sum of the original timeout, plus any additions previously added via this method. - * The length parameter is the number of bytes that have been written so far for the write operation. - * - * Note that this method may be called multiple times for a single write if you return positive numbers. -**/ -- (NSTimeInterval)socket:(MGCDAsyncSocket *)sock shouldTimeoutWriteWithTag:(long)tag - elapsed:(NSTimeInterval)elapsed - bytesDone:(NSUInteger)length; - -/** - * Conditionally called if the read stream closes, but the write stream may still be writeable. - * - * This delegate method is only called if autoDisconnectOnClosedReadStream has been set to NO. - * See the discussion on the autoDisconnectOnClosedReadStream method for more information. -**/ -- (void)socketDidCloseReadStream:(MGCDAsyncSocket *)sock; - -/** - * Called when a socket disconnects with or without error. - * - * If you call the disconnect method, and the socket wasn't already disconnected, - * then an invocation of this delegate method will be enqueued on the delegateQueue - * before the disconnect method returns. - * - * Note: If the MGCDAsyncSocket instance is deallocated while it is still connected, - * and the delegate is not also deallocated, then this method will be invoked, - * but the sock parameter will be nil. (It must necessarily be nil since it is no longer available.) - * This is a generally rare, but is possible if one writes code like this: - * - * asyncSocket = nil; // I'm implicitly disconnecting the socket - * - * In this case it may preferrable to nil the delegate beforehand, like this: - * - * asyncSocket.delegate = nil; // Don't invoke my delegate method - * asyncSocket = nil; // I'm implicitly disconnecting the socket - * - * Of course, this depends on how your state machine is configured. -**/ -- (void)socketDidDisconnect:(MGCDAsyncSocket *)sock withError:(nullable NSError *)err; - -/** - * Called after the socket has successfully completed SSL/TLS negotiation. - * This method is not called unless you use the provided startTLS method. - * - * If a SSL/TLS negotiation fails (invalid certificate, etc) then the socket will immediately close, - * and the socketDidDisconnect:withError: delegate method will be called with the specific SSL error code. -**/ -- (void)socketDidSecure:(MGCDAsyncSocket *)sock; - -/** - * Allows a socket delegate to hook into the TLS handshake and manually validate the peer it's connecting to. - * - * This is only called if startTLS is invoked with options that include: - * - MGCDAsyncSocketManuallyEvaluateTrust == YES - * - * Typically the delegate will use SecTrustEvaluate (and related functions) to properly validate the peer. - * - * Note from Apple's documentation: - * Because [SecTrustEvaluate] might look on the network for certificates in the certificate chain, - * [it] might block while attempting network access. You should never call it from your main thread; - * call it only from within a function running on a dispatch queue or on a separate thread. - * - * Thus this method uses a completionHandler block rather than a normal return value. - * The completionHandler block is thread-safe, and may be invoked from a background queue/thread. - * It is safe to invoke the completionHandler block even if the socket has been closed. -**/ -- (void)socket:(MGCDAsyncSocket *)sock didReceiveTrust:(SecTrustRef)trust - completionHandler:(void (^)(BOOL shouldTrustPeer))completionHandler; - -@end -NS_ASSUME_NONNULL_END diff --git a/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncUdpSocket.h b/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncUdpSocket.h deleted file mode 100644 index 99fa715f..00000000 --- a/MqttCocoaAsyncSocket.framework/Headers/MGCDAsyncUdpSocket.h +++ /dev/null @@ -1,1036 +0,0 @@ -// -// MGCDAsyncUdpSocket -// -// This class is in the public domain. -// Originally created by Robbie Hanson of Deusty LLC. -// Updated and maintained by Deusty LLC and the Apple development community. -// -// https://github.com/robbiehanson/CocoaAsyncSocket -// - -#import -#import -#import -#import - -NS_ASSUME_NONNULL_BEGIN -extern NSString *const MGCDAsyncUdpSocketException; -extern NSString *const MGCDAsyncUdpSocketErrorDomain; - -extern NSString *const MGCDAsyncUdpSocketQueueName; -extern NSString *const MGCDAsyncUdpSocketThreadName; - -typedef NS_ERROR_ENUM(MGCDAsyncUdpSocketErrorDomain, MGCDAsyncUdpSocketError) { - MGCDAsyncUdpSocketNoError = 0, // Never used - MGCDAsyncUdpSocketBadConfigError, // Invalid configuration - MGCDAsyncUdpSocketBadParamError, // Invalid parameter was passed - MGCDAsyncUdpSocketSendTimeoutError, // A send operation timed out - MGCDAsyncUdpSocketClosedError, // The socket was closed - MGCDAsyncUdpSocketOtherError, // Description provided in userInfo -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -#pragma mark - -//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -@class MGCDAsyncUdpSocket; - -@protocol MGCDAsyncUdpSocketDelegate -@optional - -/** - * By design, UDP is a connectionless protocol, and connecting is not needed. - * However, you may optionally choose to connect to a particular host for reasons - * outlined in the documentation for the various connect methods listed above. - * - * This method is called if one of the connect methods are invoked, and the connection is successful. -**/ -- (void)udpSocket:(MGCDAsyncUdpSocket *)sock didConnectToAddress:(NSData *)address; - -/** - * By design, UDP is a connectionless protocol, and connecting is not needed. - * However, you may optionally choose to connect to a particular host for reasons - * outlined in the documentation for the various connect methods listed above. - * - * This method is called if one of the connect methods are invoked, and the connection fails. - * This may happen, for example, if a domain name is given for the host and the domain name is unable to be resolved. -**/ -- (void)udpSocket:(MGCDAsyncUdpSocket *)sock didNotConnect:(NSError * _Nullable)error; - -/** - * Called when the datagram with the given tag has been sent. -**/ -- (void)udpSocket:(MGCDAsyncUdpSocket *)sock didSendDataWithTag:(long)tag; - -/** - * Called if an error occurs while trying to send a datagram. - * This could be due to a timeout, or something more serious such as the data being too large to fit in a sigle packet. -**/ -- (void)udpSocket:(MGCDAsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError * _Nullable)error; - -/** - * Called when the socket has received the requested datagram. -**/ -- (void)udpSocket:(MGCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data - fromAddress:(NSData *)address - withFilterContext:(nullable id)filterContext; - -/** - * Called when the socket is closed. -**/ -- (void)udpSocketDidClose:(MGCDAsyncUdpSocket *)sock withError:(NSError * _Nullable)error; - -@end - -/** - * You may optionally set a receive filter for the socket. - * A filter can provide several useful features: - * - * 1. Many times udp packets need to be parsed. - * Since the filter can run in its own independent queue, you can parallelize this parsing quite easily. - * The end result is a parallel socket io, datagram parsing, and packet processing. - * - * 2. Many times udp packets are discarded because they are duplicate/unneeded/unsolicited. - * The filter can prevent such packets from arriving at the delegate. - * And because the filter can run in its own independent queue, this doesn't slow down the delegate. - * - * - Since the udp protocol does not guarantee delivery, udp packets may be lost. - * Many protocols built atop udp thus provide various resend/re-request algorithms. - * This sometimes results in duplicate packets arriving. - * A filter may allow you to architect the duplicate detection code to run in parallel to normal processing. - * - * - Since the udp socket may be connectionless, its possible for unsolicited packets to arrive. - * Such packets need to be ignored. - * - * 3. Sometimes traffic shapers are needed to simulate real world environments. - * A filter allows you to write custom code to simulate such environments. - * The ability to code this yourself is especially helpful when your simulated environment - * is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router), - * or the system tools to handle this aren't available (e.g. on a mobile device). - * - * @param data - The packet that was received. - * @param address - The address the data was received from. - * See utilities section for methods to extract info from address. - * @param context - Out parameter you may optionally set, which will then be passed to the delegate method. - * For example, filter block can parse the data and then, - * pass the parsed data to the delegate. - * - * @returns - YES if the received packet should be passed onto the delegate. - * NO if the received packet should be discarded, and not reported to the delegete. - * - * Example: - * - * MGCDAsyncUdpSocketReceiveFilterBlock filter = ^BOOL (NSData *data, NSData *address, id *context) { - * - * MyProtocolMessage *msg = [MyProtocol parseMessage:data]; - * - * *context = response; - * return (response != nil); - * }; - * [udpSocket setReceiveFilter:filter withQueue:myParsingQueue]; - * -**/ -typedef BOOL (^MGCDAsyncUdpSocketReceiveFilterBlock)(NSData *data, NSData *address, id __nullable * __nonnull context); - -/** - * You may optionally set a send filter for the socket. - * A filter can provide several interesting possibilities: - * - * 1. Optional caching of resolved addresses for domain names. - * The cache could later be consulted, resulting in fewer system calls to getaddrinfo. - * - * 2. Reusable modules of code for bandwidth monitoring. - * - * 3. Sometimes traffic shapers are needed to simulate real world environments. - * A filter allows you to write custom code to simulate such environments. - * The ability to code this yourself is especially helpful when your simulated environment - * is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router), - * or the system tools to handle this aren't available (e.g. on a mobile device). - * - * @param data - The packet that was received. - * @param address - The address the data was received from. - * See utilities section for methods to extract info from address. - * @param tag - The tag that was passed in the send method. - * - * @returns - YES if the packet should actually be sent over the socket. - * NO if the packet should be silently dropped (not sent over the socket). - * - * Regardless of the return value, the delegate will be informed that the packet was successfully sent. - * -**/ -typedef BOOL (^MGCDAsyncUdpSocketSendFilterBlock)(NSData *data, NSData *address, long tag); - - -@interface MGCDAsyncUdpSocket : NSObject - -/** - * MGCDAsyncUdpSocket uses the standard delegate paradigm, - * but executes all delegate callbacks on a given delegate dispatch queue. - * This allows for maximum concurrency, while at the same time providing easy thread safety. - * - * You MUST set a delegate AND delegate dispatch queue before attempting to - * use the socket, or you will get an error. - * - * The socket queue is optional. - * If you pass NULL, MGCDAsyncSocket will automatically create its own socket queue. - * If you choose to provide a socket queue, the socket queue must not be a concurrent queue, - * then please see the discussion for the method markSocketQueueTargetQueue. - * - * The delegate queue and socket queue can optionally be the same. -**/ -- (instancetype)init; -- (instancetype)initWithSocketQueue:(nullable dispatch_queue_t)sq; -- (instancetype)initWithDelegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq; -- (instancetype)initWithDelegate:(nullable id)aDelegate delegateQueue:(nullable dispatch_queue_t)dq socketQueue:(nullable dispatch_queue_t)sq NS_DESIGNATED_INITIALIZER; - -#pragma mark Configuration - -- (nullable id)delegate; -- (void)setDelegate:(nullable id)delegate; -- (void)synchronouslySetDelegate:(nullable id)delegate; - -- (nullable dispatch_queue_t)delegateQueue; -- (void)setDelegateQueue:(nullable dispatch_queue_t)delegateQueue; -- (void)synchronouslySetDelegateQueue:(nullable dispatch_queue_t)delegateQueue; - -- (void)getDelegate:(id __nullable * __nullable)delegatePtr delegateQueue:(dispatch_queue_t __nullable * __nullable)delegateQueuePtr; -- (void)setDelegate:(nullable id)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue; -- (void)synchronouslySetDelegate:(nullable id)delegate delegateQueue:(nullable dispatch_queue_t)delegateQueue; - -/** - * By default, both IPv4 and IPv6 are enabled. - * - * This means MGCDAsyncUdpSocket automatically supports both protocols, - * and can send to IPv4 or IPv6 addresses, - * as well as receive over IPv4 and IPv6. - * - * For operations that require DNS resolution, MGCDAsyncUdpSocket supports both IPv4 and IPv6. - * If a DNS lookup returns only IPv4 results, MGCDAsyncUdpSocket will automatically use IPv4. - * If a DNS lookup returns only IPv6 results, MGCDAsyncUdpSocket will automatically use IPv6. - * If a DNS lookup returns both IPv4 and IPv6 results, then the protocol used depends on the configured preference. - * If IPv4 is preferred, then IPv4 is used. - * If IPv6 is preferred, then IPv6 is used. - * If neutral, then the first IP version in the resolved array will be used. - * - * Starting with Mac OS X 10.7 Lion and iOS 5, the default IP preference is neutral. - * On prior systems the default IP preference is IPv4. - **/ -- (BOOL)isIPv4Enabled; -- (void)setIPv4Enabled:(BOOL)flag; - -- (BOOL)isIPv6Enabled; -- (void)setIPv6Enabled:(BOOL)flag; - -- (BOOL)isIPv4Preferred; -- (BOOL)isIPv6Preferred; -- (BOOL)isIPVersionNeutral; - -- (void)setPreferIPv4; -- (void)setPreferIPv6; -- (void)setIPVersionNeutral; - -/** - * Gets/Sets the maximum size of the buffer that will be allocated for receive operations. - * The default maximum size is 65535 bytes. - * - * The theoretical maximum size of any IPv4 UDP packet is UINT16_MAX = 65535. - * The theoretical maximum size of any IPv6 UDP packet is UINT32_MAX = 4294967295. - * - * Since the OS/MGCD notifies us of the size of each received UDP packet, - * the actual allocated buffer size for each packet is exact. - * And in practice the size of UDP packets is generally much smaller than the max. - * Indeed most protocols will send and receive packets of only a few bytes, - * or will set a limit on the size of packets to prevent fragmentation in the IP layer. - * - * If you set the buffer size too small, the sockets API in the OS will silently discard - * any extra data, and you will not be notified of the error. -**/ -- (uint16_t)maxReceiveIPv4BufferSize; -- (void)setMaxReceiveIPv4BufferSize:(uint16_t)max; - -- (uint32_t)maxReceiveIPv6BufferSize; -- (void)setMaxReceiveIPv6BufferSize:(uint32_t)max; - -/** - * Gets/Sets the maximum size of the buffer that will be allocated for send operations. - * The default maximum size is 65535 bytes. - * - * Given that a typical link MTU is 1500 bytes, a large UDP datagram will have to be - * fragmented, and that’s both expensive and risky (if one fragment goes missing, the - * entire datagram is lost). You are much better off sending a large number of smaller - * UDP datagrams, preferably using a path MTU algorithm to avoid fragmentation. - * - * You must set it before the sockt is created otherwise it won't work. - * - **/ -- (uint16_t)maxSendBufferSize; -- (void)setMaxSendBufferSize:(uint16_t)max; - -/** - * User data allows you to associate arbitrary information with the socket. - * This data is not used internally in any way. -**/ -- (nullable id)userData; -- (void)setUserData:(nullable id)arbitraryUserData; - -#pragma mark Diagnostics - -/** - * Returns the local address info for the socket. - * - * The localAddress method returns a sockaddr structure wrapped in a NSData object. - * The localHost method returns the human readable IP address as a string. - * - * Note: Address info may not be available until after the socket has been binded, connected - * or until after data has been sent. -**/ -- (nullable NSData *)localAddress; -- (nullable NSString *)localHost; -- (uint16_t)localPort; - -- (nullable NSData *)localAddress_IPv4; -- (nullable NSString *)localHost_IPv4; -- (uint16_t)localPort_IPv4; - -- (nullable NSData *)localAddress_IPv6; -- (nullable NSString *)localHost_IPv6; -- (uint16_t)localPort_IPv6; - -/** - * Returns the remote address info for the socket. - * - * The connectedAddress method returns a sockaddr structure wrapped in a NSData object. - * The connectedHost method returns the human readable IP address as a string. - * - * Note: Since UDP is connectionless by design, connected address info - * will not be available unless the socket is explicitly connected to a remote host/port. - * If the socket is not connected, these methods will return nil / 0. -**/ -- (nullable NSData *)connectedAddress; -- (nullable NSString *)connectedHost; -- (uint16_t)connectedPort; - -/** - * Returns whether or not this socket has been connected to a single host. - * By design, UDP is a connectionless protocol, and connecting is not needed. - * If connected, the socket will only be able to send/receive data to/from the connected host. -**/ -- (BOOL)isConnected; - -/** - * Returns whether or not this socket has been closed. - * The only way a socket can be closed is if you explicitly call one of the close methods. -**/ -- (BOOL)isClosed; - -/** - * Returns whether or not this socket is IPv4. - * - * By default this will be true, unless: - * - IPv4 is disabled (via setIPv4Enabled:) - * - The socket is explicitly bound to an IPv6 address - * - The socket is connected to an IPv6 address -**/ -- (BOOL)isIPv4; - -/** - * Returns whether or not this socket is IPv6. - * - * By default this will be true, unless: - * - IPv6 is disabled (via setIPv6Enabled:) - * - The socket is explicitly bound to an IPv4 address - * _ The socket is connected to an IPv4 address - * - * This method will also return false on platforms that do not support IPv6. - * Note: The iPhone does not currently support IPv6. -**/ -- (BOOL)isIPv6; - -#pragma mark Binding - -/** - * Binds the UDP socket to the given port. - * Binding should be done for server sockets that receive data prior to sending it. - * Client sockets can skip binding, - * as the OS will automatically assign the socket an available port when it starts sending data. - * - * You may optionally pass a port number of zero to immediately bind the socket, - * yet still allow the OS to automatically assign an available port. - * - * You cannot bind a socket after its been connected. - * You can only bind a socket once. - * You can still connect a socket (if desired) after binding. - * - * On success, returns YES. - * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass NULL for errPtr. -**/ -- (BOOL)bindToPort:(uint16_t)port error:(NSError **)errPtr; - -/** - * Binds the UDP socket to the given port and optional interface. - * Binding should be done for server sockets that receive data prior to sending it. - * Client sockets can skip binding, - * as the OS will automatically assign the socket an available port when it starts sending data. - * - * You may optionally pass a port number of zero to immediately bind the socket, - * yet still allow the OS to automatically assign an available port. - * - * The interface may be a name (e.g. "en1" or "lo0") or the corresponding IP address (e.g. "192.168.4.35"). - * You may also use the special strings "localhost" or "loopback" to specify that - * the socket only accept packets from the local machine. - * - * You cannot bind a socket after its been connected. - * You can only bind a socket once. - * You can still connect a socket (if desired) after binding. - * - * On success, returns YES. - * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass NULL for errPtr. -**/ -- (BOOL)bindToPort:(uint16_t)port interface:(nullable NSString *)interface error:(NSError **)errPtr; - -/** - * Binds the UDP socket to the given address, specified as a sockaddr structure wrapped in a NSData object. - * - * If you have an existing struct sockaddr you can convert it to a NSData object like so: - * struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len]; - * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; - * - * Binding should be done for server sockets that receive data prior to sending it. - * Client sockets can skip binding, - * as the OS will automatically assign the socket an available port when it starts sending data. - * - * You cannot bind a socket after its been connected. - * You can only bind a socket once. - * You can still connect a socket (if desired) after binding. - * - * On success, returns YES. - * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass NULL for errPtr. -**/ -- (BOOL)bindToAddress:(NSData *)localAddr error:(NSError **)errPtr; - -#pragma mark Connecting - -/** - * Connects the UDP socket to the given host and port. - * By design, UDP is a connectionless protocol, and connecting is not needed. - * - * Choosing to connect to a specific host/port has the following effect: - * - You will only be able to send data to the connected host/port. - * - You will only be able to receive data from the connected host/port. - * - You will receive ICMP messages that come from the connected host/port, such as "connection refused". - * - * The actual process of connecting a UDP socket does not result in any communication on the socket. - * It simply changes the internal state of the socket. - * - * You cannot bind a socket after it has been connected. - * You can only connect a socket once. - * - * The host may be a domain name (e.g. "deusty.com") or an IP address string (e.g. "192.168.0.2"). - * - * This method is asynchronous as it requires a DNS lookup to resolve the given host name. - * If an obvious error is detected, this method immediately returns NO and sets errPtr. - * If you don't care about the error, you can pass nil for errPtr. - * Otherwise, this method returns YES and begins the asynchronous connection process. - * The result of the asynchronous connection process will be reported via the delegate methods. - **/ -- (BOOL)connectToHost:(NSString *)host onPort:(uint16_t)port error:(NSError **)errPtr; - -/** - * Connects the UDP socket to the given address, specified as a sockaddr structure wrapped in a NSData object. - * - * If you have an existing struct sockaddr you can convert it to a NSData object like so: - * struct sockaddr sa -> NSData *dsa = [NSData dataWithBytes:&remoteAddr length:remoteAddr.sa_len]; - * struct sockaddr *sa -> NSData *dsa = [NSData dataWithBytes:remoteAddr length:remoteAddr->sa_len]; - * - * By design, UDP is a connectionless protocol, and connecting is not needed. - * - * Choosing to connect to a specific address has the following effect: - * - You will only be able to send data to the connected address. - * - You will only be able to receive data from the connected address. - * - You will receive ICMP messages that come from the connected address, such as "connection refused". - * - * Connecting a UDP socket does not result in any communication on the socket. - * It simply changes the internal state of the socket. - * - * You cannot bind a socket after its been connected. - * You can only connect a socket once. - * - * On success, returns YES. - * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr. - * - * Note: Unlike the connectToHost:onPort:error: method, this method does not require a DNS lookup. - * Thus when this method returns, the connection has either failed or fully completed. - * In other words, this method is synchronous, unlike the asynchronous connectToHost::: method. - * However, for compatibility and simplification of delegate code, if this method returns YES - * then the corresponding delegate method (udpSocket:didConnectToHost:port:) is still invoked. -**/ -- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr; - -#pragma mark Multicast - -/** - * Join multicast group. - * Group should be an IP address (eg @"225.228.0.1"). - * - * On success, returns YES. - * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr. -**/ -- (BOOL)joinMulticastGroup:(NSString *)group error:(NSError **)errPtr; - -/** - * Join multicast group. - * Group should be an IP address (eg @"225.228.0.1"). - * The interface may be a name (e.g. "en1" or "lo0") or the corresponding IP address (e.g. "192.168.4.35"). - * - * On success, returns YES. - * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr. -**/ -- (BOOL)joinMulticastGroup:(NSString *)group onInterface:(nullable NSString *)interface error:(NSError **)errPtr; - -- (BOOL)leaveMulticastGroup:(NSString *)group error:(NSError **)errPtr; -- (BOOL)leaveMulticastGroup:(NSString *)group onInterface:(nullable NSString *)interface error:(NSError **)errPtr; - -/** - * Send multicast on a specified interface. - * For IPv4, interface should be the the IP address of the interface (eg @"192.168.10.1"). - * For IPv6, interface should be the a network interface name (eg @"en0"). - * - * On success, returns YES. - * Otherwise returns NO, and sets errPtr. If you don't care about the error, you can pass nil for errPtr. -**/ - -- (BOOL)sendIPv4MulticastOnInterface:(NSString*)interface error:(NSError **)errPtr; -- (BOOL)sendIPv6MulticastOnInterface:(NSString*)interface error:(NSError **)errPtr; - -#pragma mark Reuse Port - -/** - * By default, only one socket can be bound to a given IP address + port at a time. - * To enable multiple processes to simultaneously bind to the same address+port, - * you need to enable this functionality in the socket. All processes that wish to - * use the address+port simultaneously must all enable reuse port on the socket - * bound to that port. - **/ -- (BOOL)enableReusePort:(BOOL)flag error:(NSError **)errPtr; - -#pragma mark Broadcast - -/** - * By default, the underlying socket in the OS will not allow you to send broadcast messages. - * In order to send broadcast messages, you need to enable this functionality in the socket. - * - * A broadcast is a UDP message to addresses like "192.168.255.255" or "255.255.255.255" that is - * delivered to every host on the network. - * The reason this is generally disabled by default (by the OS) is to prevent - * accidental broadcast messages from flooding the network. -**/ -- (BOOL)enableBroadcast:(BOOL)flag error:(NSError **)errPtr; - -#pragma mark Sending - -/** - * Asynchronously sends the given data, with the given timeout and tag. - * - * This method may only be used with a connected socket. - * Recall that connecting is optional for a UDP socket. - * For connected sockets, data can only be sent to the connected address. - * For non-connected sockets, the remote destination is specified for each packet. - * For more information about optionally connecting udp sockets, see the documentation for the connect methods above. - * - * @param data - * The data to send. - * If data is nil or zero-length, this method does nothing. - * If passing NSMutableData, please read the thread-safety notice below. - * - * @param timeout - * The timeout for the send opeartion. - * If the timeout value is negative, the send operation will not use a timeout. - * - * @param tag - * The tag is for your convenience. - * It is not sent or received over the socket in any manner what-so-ever. - * It is reported back as a parameter in the udpSocket:didSendDataWithTag: - * or udpSocket:didNotSendDataWithTag:dueToError: methods. - * You can use it as an array index, state id, type constant, etc. - * - * - * Thread-Safety Note: - * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while - * the socket is sending it. In other words, it's not safe to alter the data until after the delegate method - * udpSocket:didSendDataWithTag: or udpSocket:didNotSendDataWithTag:dueToError: is invoked signifying - * that this particular send operation has completed. - * This is due to the fact that MGCDAsyncUdpSocket does NOT copy the data. - * It simply retains it for performance reasons. - * Often times, if NSMutableData is passed, it is because a request/response was built up in memory. - * Copying this data adds an unwanted/unneeded overhead. - * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket - * completes sending the bytes (which is NOT immediately after this method returns, but rather at a later time - * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method. -**/ -- (void)sendData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; - -/** - * Asynchronously sends the given data, with the given timeout and tag, to the given host and port. - * - * This method cannot be used with a connected socket. - * Recall that connecting is optional for a UDP socket. - * For connected sockets, data can only be sent to the connected address. - * For non-connected sockets, the remote destination is specified for each packet. - * For more information about optionally connecting udp sockets, see the documentation for the connect methods above. - * - * @param data - * The data to send. - * If data is nil or zero-length, this method does nothing. - * If passing NSMutableData, please read the thread-safety notice below. - * - * @param host - * The destination to send the udp packet to. - * May be specified as a domain name (e.g. "deusty.com") or an IP address string (e.g. "192.168.0.2"). - * You may also use the convenience strings of "loopback" or "localhost". - * - * @param port - * The port of the host to send to. - * - * @param timeout - * The timeout for the send opeartion. - * If the timeout value is negative, the send operation will not use a timeout. - * - * @param tag - * The tag is for your convenience. - * It is not sent or received over the socket in any manner what-so-ever. - * It is reported back as a parameter in the udpSocket:didSendDataWithTag: - * or udpSocket:didNotSendDataWithTag:dueToError: methods. - * You can use it as an array index, state id, type constant, etc. - * - * - * Thread-Safety Note: - * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while - * the socket is sending it. In other words, it's not safe to alter the data until after the delegate method - * udpSocket:didSendDataWithTag: or udpSocket:didNotSendDataWithTag:dueToError: is invoked signifying - * that this particular send operation has completed. - * This is due to the fact that MGCDAsyncUdpSocket does NOT copy the data. - * It simply retains it for performance reasons. - * Often times, if NSMutableData is passed, it is because a request/response was built up in memory. - * Copying this data adds an unwanted/unneeded overhead. - * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket - * completes sending the bytes (which is NOT immediately after this method returns, but rather at a later time - * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method. -**/ -- (void)sendData:(NSData *)data - toHost:(NSString *)host - port:(uint16_t)port - withTimeout:(NSTimeInterval)timeout - tag:(long)tag; - -/** - * Asynchronously sends the given data, with the given timeout and tag, to the given address. - * - * This method cannot be used with a connected socket. - * Recall that connecting is optional for a UDP socket. - * For connected sockets, data can only be sent to the connected address. - * For non-connected sockets, the remote destination is specified for each packet. - * For more information about optionally connecting udp sockets, see the documentation for the connect methods above. - * - * @param data - * The data to send. - * If data is nil or zero-length, this method does nothing. - * If passing NSMutableData, please read the thread-safety notice below. - * - * @param remoteAddr - * The address to send the data to (specified as a sockaddr structure wrapped in a NSData object). - * - * @param timeout - * The timeout for the send opeartion. - * If the timeout value is negative, the send operation will not use a timeout. - * - * @param tag - * The tag is for your convenience. - * It is not sent or received over the socket in any manner what-so-ever. - * It is reported back as a parameter in the udpSocket:didSendDataWithTag: - * or udpSocket:didNotSendDataWithTag:dueToError: methods. - * You can use it as an array index, state id, type constant, etc. - * - * - * Thread-Safety Note: - * If the given data parameter is mutable (NSMutableData) then you MUST NOT alter the data while - * the socket is sending it. In other words, it's not safe to alter the data until after the delegate method - * udpSocket:didSendDataWithTag: or udpSocket:didNotSendDataWithTag:dueToError: is invoked signifying - * that this particular send operation has completed. - * This is due to the fact that MGCDAsyncUdpSocket does NOT copy the data. - * It simply retains it for performance reasons. - * Often times, if NSMutableData is passed, it is because a request/response was built up in memory. - * Copying this data adds an unwanted/unneeded overhead. - * If you need to write data from an immutable buffer, and you need to alter the buffer before the socket - * completes sending the bytes (which is NOT immediately after this method returns, but rather at a later time - * when the delegate method notifies you), then you should first copy the bytes, and pass the copy to this method. -**/ -- (void)sendData:(NSData *)data toAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout tag:(long)tag; - -/** - * You may optionally set a send filter for the socket. - * A filter can provide several interesting possibilities: - * - * 1. Optional caching of resolved addresses for domain names. - * The cache could later be consulted, resulting in fewer system calls to getaddrinfo. - * - * 2. Reusable modules of code for bandwidth monitoring. - * - * 3. Sometimes traffic shapers are needed to simulate real world environments. - * A filter allows you to write custom code to simulate such environments. - * The ability to code this yourself is especially helpful when your simulated environment - * is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router), - * or the system tools to handle this aren't available (e.g. on a mobile device). - * - * For more information about MGCDAsyncUdpSocketSendFilterBlock, see the documentation for its typedef. - * To remove a previously set filter, invoke this method and pass a nil filterBlock and NULL filterQueue. - * - * Note: This method invokes setSendFilter:withQueue:isAsynchronous: (documented below), - * passing YES for the isAsynchronous parameter. -**/ -- (void)setSendFilter:(nullable MGCDAsyncUdpSocketSendFilterBlock)filterBlock withQueue:(nullable dispatch_queue_t)filterQueue; - -/** - * The receive filter can be run via dispatch_async or dispatch_sync. - * Most typical situations call for asynchronous operation. - * - * However, there are a few situations in which synchronous operation is preferred. - * Such is the case when the filter is extremely minimal and fast. - * This is because dispatch_sync is faster than dispatch_async. - * - * If you choose synchronous operation, be aware of possible deadlock conditions. - * Since the socket queue is executing your block via dispatch_sync, - * then you cannot perform any tasks which may invoke dispatch_sync on the socket queue. - * For example, you can't query properties on the socket. -**/ -- (void)setSendFilter:(nullable MGCDAsyncUdpSocketSendFilterBlock)filterBlock - withQueue:(nullable dispatch_queue_t)filterQueue - isAsynchronous:(BOOL)isAsynchronous; - -#pragma mark Receiving - -/** - * There are two modes of operation for receiving packets: one-at-a-time & continuous. - * - * In one-at-a-time mode, you call receiveOnce everytime your delegate is ready to process an incoming udp packet. - * Receiving packets one-at-a-time may be better suited for implementing certain state machine code, - * where your state machine may not always be ready to process incoming packets. - * - * In continuous mode, the delegate is invoked immediately everytime incoming udp packets are received. - * Receiving packets continuously is better suited to real-time streaming applications. - * - * You may switch back and forth between one-at-a-time mode and continuous mode. - * If the socket is currently in continuous mode, calling this method will switch it to one-at-a-time mode. - * - * When a packet is received (and not filtered by the optional receive filter), - * the delegate method (udpSocket:didReceiveData:fromAddress:withFilterContext:) is invoked. - * - * If the socket is able to begin receiving packets, this method returns YES. - * Otherwise it returns NO, and sets the errPtr with appropriate error information. - * - * An example error: - * You created a udp socket to act as a server, and immediately called receive. - * You forgot to first bind the socket to a port number, and received a error with a message like: - * "Must bind socket before you can receive data." -**/ -- (BOOL)receiveOnce:(NSError **)errPtr; - -/** - * There are two modes of operation for receiving packets: one-at-a-time & continuous. - * - * In one-at-a-time mode, you call receiveOnce everytime your delegate is ready to process an incoming udp packet. - * Receiving packets one-at-a-time may be better suited for implementing certain state machine code, - * where your state machine may not always be ready to process incoming packets. - * - * In continuous mode, the delegate is invoked immediately everytime incoming udp packets are received. - * Receiving packets continuously is better suited to real-time streaming applications. - * - * You may switch back and forth between one-at-a-time mode and continuous mode. - * If the socket is currently in one-at-a-time mode, calling this method will switch it to continuous mode. - * - * For every received packet (not filtered by the optional receive filter), - * the delegate method (udpSocket:didReceiveData:fromAddress:withFilterContext:) is invoked. - * - * If the socket is able to begin receiving packets, this method returns YES. - * Otherwise it returns NO, and sets the errPtr with appropriate error information. - * - * An example error: - * You created a udp socket to act as a server, and immediately called receive. - * You forgot to first bind the socket to a port number, and received a error with a message like: - * "Must bind socket before you can receive data." -**/ -- (BOOL)beginReceiving:(NSError **)errPtr; - -/** - * If the socket is currently receiving (beginReceiving has been called), this method pauses the receiving. - * That is, it won't read any more packets from the underlying OS socket until beginReceiving is called again. - * - * Important Note: - * MGCDAsyncUdpSocket may be running in parallel with your code. - * That is, your delegate is likely running on a separate thread/dispatch_queue. - * When you invoke this method, MGCDAsyncUdpSocket may have already dispatched delegate methods to be invoked. - * Thus, if those delegate methods have already been dispatch_async'd, - * your didReceive delegate method may still be invoked after this method has been called. - * You should be aware of this, and program defensively. -**/ -- (void)pauseReceiving; - -/** - * You may optionally set a receive filter for the socket. - * This receive filter may be set to run in its own queue (independent of delegate queue). - * - * A filter can provide several useful features. - * - * 1. Many times udp packets need to be parsed. - * Since the filter can run in its own independent queue, you can parallelize this parsing quite easily. - * The end result is a parallel socket io, datagram parsing, and packet processing. - * - * 2. Many times udp packets are discarded because they are duplicate/unneeded/unsolicited. - * The filter can prevent such packets from arriving at the delegate. - * And because the filter can run in its own independent queue, this doesn't slow down the delegate. - * - * - Since the udp protocol does not guarantee delivery, udp packets may be lost. - * Many protocols built atop udp thus provide various resend/re-request algorithms. - * This sometimes results in duplicate packets arriving. - * A filter may allow you to architect the duplicate detection code to run in parallel to normal processing. - * - * - Since the udp socket may be connectionless, its possible for unsolicited packets to arrive. - * Such packets need to be ignored. - * - * 3. Sometimes traffic shapers are needed to simulate real world environments. - * A filter allows you to write custom code to simulate such environments. - * The ability to code this yourself is especially helpful when your simulated environment - * is more complicated than simple traffic shaping (e.g. simulating a cone port restricted router), - * or the system tools to handle this aren't available (e.g. on a mobile device). - * - * Example: - * - * MGCDAsyncUdpSocketReceiveFilterBlock filter = ^BOOL (NSData *data, NSData *address, id *context) { - * - * MyProtocolMessage *msg = [MyProtocol parseMessage:data]; - * - * *context = response; - * return (response != nil); - * }; - * [udpSocket setReceiveFilter:filter withQueue:myParsingQueue]; - * - * For more information about MGCDAsyncUdpSocketReceiveFilterBlock, see the documentation for its typedef. - * To remove a previously set filter, invoke this method and pass a nil filterBlock and NULL filterQueue. - * - * Note: This method invokes setReceiveFilter:withQueue:isAsynchronous: (documented below), - * passing YES for the isAsynchronous parameter. -**/ -- (void)setReceiveFilter:(nullable MGCDAsyncUdpSocketReceiveFilterBlock)filterBlock withQueue:(nullable dispatch_queue_t)filterQueue; - -/** - * The receive filter can be run via dispatch_async or dispatch_sync. - * Most typical situations call for asynchronous operation. - * - * However, there are a few situations in which synchronous operation is preferred. - * Such is the case when the filter is extremely minimal and fast. - * This is because dispatch_sync is faster than dispatch_async. - * - * If you choose synchronous operation, be aware of possible deadlock conditions. - * Since the socket queue is executing your block via dispatch_sync, - * then you cannot perform any tasks which may invoke dispatch_sync on the socket queue. - * For example, you can't query properties on the socket. -**/ -- (void)setReceiveFilter:(nullable MGCDAsyncUdpSocketReceiveFilterBlock)filterBlock - withQueue:(nullable dispatch_queue_t)filterQueue - isAsynchronous:(BOOL)isAsynchronous; - -#pragma mark Closing - -/** - * Immediately closes the underlying socket. - * Any pending send operations are discarded. - * - * The MGCDAsyncUdpSocket instance may optionally be used again. - * (it will setup/configure/use another unnderlying BSD socket). -**/ -- (void)close; - -/** - * Closes the underlying socket after all pending send operations have been sent. - * - * The MGCDAsyncUdpSocket instance may optionally be used again. - * (it will setup/configure/use another unnderlying BSD socket). -**/ -- (void)closeAfterSending; - -#pragma mark Advanced -/** - * MGCDAsyncSocket maintains thread safety by using an internal serial dispatch_queue. - * In most cases, the instance creates this queue itself. - * However, to allow for maximum flexibility, the internal queue may be passed in the init method. - * This allows for some advanced options such as controlling socket priority via target queues. - * However, when one begins to use target queues like this, they open the door to some specific deadlock issues. - * - * For example, imagine there are 2 queues: - * dispatch_queue_t socketQueue; - * dispatch_queue_t socketTargetQueue; - * - * If you do this (pseudo-code): - * socketQueue.targetQueue = socketTargetQueue; - * - * Then all socketQueue operations will actually get run on the given socketTargetQueue. - * This is fine and works great in most situations. - * But if you run code directly from within the socketTargetQueue that accesses the socket, - * you could potentially get deadlock. Imagine the following code: - * - * - (BOOL)socketHasSomething - * { - * __block BOOL result = NO; - * dispatch_block_t block = ^{ - * result = [self someInternalMethodToBeRunOnlyOnSocketQueue]; - * } - * if (is_executing_on_queue(socketQueue)) - * block(); - * else - * dispatch_sync(socketQueue, block); - * - * return result; - * } - * - * What happens if you call this method from the socketTargetQueue? The result is deadlock. - * This is because the MGCD API offers no mechanism to discover a queue's targetQueue. - * Thus we have no idea if our socketQueue is configured with a targetQueue. - * If we had this information, we could easily avoid deadlock. - * But, since these API's are missing or unfeasible, you'll have to explicitly set it. - * - * IF you pass a socketQueue via the init method, - * AND you've configured the passed socketQueue with a targetQueue, - * THEN you should pass the end queue in the target hierarchy. - * - * For example, consider the following queue hierarchy: - * socketQueue -> ipQueue -> moduleQueue - * - * This example demonstrates priority shaping within some server. - * All incoming client connections from the same IP address are executed on the same target queue. - * And all connections for a particular module are executed on the same target queue. - * Thus, the priority of all networking for the entire module can be changed on the fly. - * Additionally, networking traffic from a single IP cannot monopolize the module. - * - * Here's how you would accomplish something like that: - * - (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(MGCDAsyncSocket *)sock - * { - * dispatch_queue_t socketQueue = dispatch_queue_create("", NULL); - * dispatch_queue_t ipQueue = [self ipQueueForAddress:address]; - * - * dispatch_set_target_queue(socketQueue, ipQueue); - * dispatch_set_target_queue(iqQueue, moduleQueue); - * - * return socketQueue; - * } - * - (void)socket:(MGCDAsyncSocket *)sock didAcceptNewSocket:(MGCDAsyncSocket *)newSocket - * { - * [clientConnections addObject:newSocket]; - * [newSocket markSocketQueueTargetQueue:moduleQueue]; - * } - * - * Note: This workaround is ONLY needed if you intend to execute code directly on the ipQueue or moduleQueue. - * This is often NOT the case, as such queues are used solely for execution shaping. - **/ -- (void)markSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreConfiguredTargetQueue; -- (void)unmarkSocketQueueTargetQueue:(dispatch_queue_t)socketQueuesPreviouslyConfiguredTargetQueue; - -/** - * It's not thread-safe to access certain variables from outside the socket's internal queue. - * - * For example, the socket file descriptor. - * File descriptors are simply integers which reference an index in the per-process file table. - * However, when one requests a new file descriptor (by opening a file or socket), - * the file descriptor returned is guaranteed to be the lowest numbered unused descriptor. - * So if we're not careful, the following could be possible: - * - * - Thread A invokes a method which returns the socket's file descriptor. - * - The socket is closed via the socket's internal queue on thread B. - * - Thread C opens a file, and subsequently receives the file descriptor that was previously the socket's FD. - * - Thread A is now accessing/altering the file instead of the socket. - * - * In addition to this, other variables are not actually objects, - * and thus cannot be retained/released or even autoreleased. - * An example is the sslContext, of type SSLContextRef, which is actually a malloc'd struct. - * - * Although there are internal variables that make it difficult to maintain thread-safety, - * it is important to provide access to these variables - * to ensure this class can be used in a wide array of environments. - * This method helps to accomplish this by invoking the current block on the socket's internal queue. - * The methods below can be invoked from within the block to access - * those generally thread-unsafe internal variables in a thread-safe manner. - * The given block will be invoked synchronously on the socket's internal queue. - * - * If you save references to any protected variables and use them outside the block, you do so at your own peril. -**/ -- (void)performBlock:(dispatch_block_t)block; - -/** - * These methods are only available from within the context of a performBlock: invocation. - * See the documentation for the performBlock: method above. - * - * Provides access to the socket's file descriptor(s). - * If the socket isn't connected, or explicity bound to a particular interface, - * it might actually have multiple internal socket file descriptors - one for IPv4 and one for IPv6. -**/ -- (int)socketFD; -- (int)socket4FD; -- (int)socket6FD; - -#if TARGET_OS_IPHONE - -/** - * These methods are only available from within the context of a performBlock: invocation. - * See the documentation for the performBlock: method above. - * - * Returns (creating if necessary) a CFReadStream/CFWriteStream for the internal socket. - * - * Generally MGCDAsyncUdpSocket doesn't use CFStream. (It uses the faster MGCD API's.) - * However, if you need one for any reason, - * these methods are a convenient way to get access to a safe instance of one. -**/ -- (nullable CFReadStreamRef)readStream; -- (nullable CFWriteStreamRef)writeStream; - -/** - * This method is only available from within the context of a performBlock: invocation. - * See the documentation for the performBlock: method above. - * - * Configures the socket to allow it to operate when the iOS application has been backgrounded. - * In other words, this method creates a read & write stream, and invokes: - * - * CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeBackground); - * CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeBackground); - * - * Returns YES if successful, NO otherwise. - * - * Example usage: - * - * [asyncUdpSocket performBlock:^{ - * [asyncUdpSocket enableBackgroundingOnSocket]; - * }]; - * - * - * NOTE : Apple doesn't currently support backgrounding UDP sockets. (Only TCP for now). -**/ -//- (BOOL)enableBackgroundingOnSockets; - -#endif - -#pragma mark Utilities - -/** - * Extracting host/port/family information from raw address data. -**/ - -+ (nullable NSString *)hostFromAddress:(NSData *)address; -+ (uint16_t)portFromAddress:(NSData *)address; -+ (int)familyFromAddress:(NSData *)address; - -+ (BOOL)isIPv4Address:(NSData *)address; -+ (BOOL)isIPv6Address:(NSData *)address; - -+ (BOOL)getHost:(NSString * __nullable * __nullable)hostPtr port:(uint16_t * __nullable)portPtr fromAddress:(NSData *)address; -+ (BOOL)getHost:(NSString * __nullable * __nullable)hostPtr port:(uint16_t * __nullable)portPtr family:(int * __nullable)afPtr fromAddress:(NSData *)address; - -@end - -NS_ASSUME_NONNULL_END diff --git a/MqttCocoaAsyncSocket.framework/Headers/MqttCocoaAsyncSocket.h b/MqttCocoaAsyncSocket.framework/Headers/MqttCocoaAsyncSocket.h deleted file mode 100644 index 117d2fea..00000000 --- a/MqttCocoaAsyncSocket.framework/Headers/MqttCocoaAsyncSocket.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// CocoaAsyncSocket.h -// CocoaAsyncSocket -// -// Created by Derek Clarkson on 10/08/2015. -// CocoaAsyncSocket project is in the public domain. -// - -#import - -//! Project version number for CocoaAsyncSocket. -FOUNDATION_EXPORT double cocoaAsyncSocketVersionNumber; - -//! Project version string for CocoaAsyncSocket. -FOUNDATION_EXPORT const unsigned char cocoaAsyncSocketVersionString[]; - -#import "MGCDAsyncSocket.h" -#import "MGCDAsyncUdpSocket.h" diff --git a/MqttCocoaAsyncSocket.framework/Info.plist b/MqttCocoaAsyncSocket.framework/Info.plist deleted file mode 100644 index 406435eb2095f89dcd253b89354b8131ae10b504..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 809 zcmZ8eOHUI~6rOv0fKM(IQ4myKDn7=U0&Q3s=up#;3Nlkb(=fT6-nKW~nLEsb*bRwm zHYRLbm?#=oF8Kq-AK})xGGXffE5i3gJ2@=I!k0jY5MSFuoyq^!oMXX3F$S#WAXV^$FP ziPzkqo*!l9r2CZE(S%e&*NC-4>eOhuQFSD#>J8xqu~QE`=G0Bx|EJ074hcf)J|N{aiDmv?bis zj4ex4X*tIDq`1f&W{38w9-FsIh3LA>qIqI7-Zb%OsjyCWL*~(Hr;#HrsW8q0M*UKH z_Q}HRI*lGMSlkVQoUjC0^qY>Q3u}i4CLXthEqkI;VYERUUpVsr8a*Q`M!vYYqN`Ez zIEtfNTWqZ%TAzQWns}l$g19cHa+J02;>(=x*|NonQTA3sIf~={*q;JwM)Ptr_ z1}!2TRnQ)Kg$~dmdXJ9LSM&q@L??h?8fHL-G-P1`mOujrE;L~u4&XJsfw%Auj^HDF QlG*{NgVLiIV}Q@U0b#uR4FCWD diff --git a/MqttCocoaAsyncSocket.framework/Modules/module.modulemap b/MqttCocoaAsyncSocket.framework/Modules/module.modulemap deleted file mode 100644 index 2571d641..00000000 --- a/MqttCocoaAsyncSocket.framework/Modules/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module MqttCocoaAsyncSocket { - umbrella header "MqttCocoaAsyncSocket.h" - export * - - module * { export * } -} diff --git a/MqttCocoaAsyncSocket.framework/MqttCocoaAsyncSocket b/MqttCocoaAsyncSocket.framework/MqttCocoaAsyncSocket deleted file mode 100755 index d7130c3d52ded4b0aa9ba14f6919c4894e3aa5fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 330704 zcmeFad3@Eyz5hSwoP?YJvSkNkiwbdHSj3H!;DRfPC@yUiKqQEYB3h9ufv7hWujROF ztpv5#oKH8bpizdcW(#X%-Uv({mUeW2&*``j3A;yvpiX*WNH|zJ2aE-W}TN?FC6Gs2%ZBlnXoG> zE&Z;WwV?X?>DSHbBrlg8@3;7UnGYd&{v3ESubqC=O#+yS-%(%j;r-G92%bL&p72|+ z@P^L#?RN0)kNXgU=kDR%eErwwTz^&Noa?WiN2N^s?wRH2m+M2&b0*CK*h(uaXH{2T zJzu1=|1#k-|jH!07Y$7|*VC}%^z&cLr77&!;;rdij{pLI3nJ`-N?pL}eZ9fEoe!^3=aHC{_ULCl0_w)*fI11xwB z!=tz>csJe5w9ys3Mh7q9;OY4bz?*Z+bj?DY$7|ko_yzjG^B3U9Rnr$t?-E|)dw%O0 z2Sm>q_}O;Bf0dPOpt^*YX!ZdG@}lSc!<%ta`z+phyptTf%K`*Q!|(z!1g~YMCh=EU zdEVITEz{kyQQ|5ri&KJsg9X*d6sW|@P-19jB~ zk*c48vziZ@IppNA4O@=+_a!G^x${uUe1XT{W%W0Qw>^{L-;w;Ook{3V*!utE_g%)H z-ua~q0B~gFn2Q(Qv|!eC$DB83#{B8?7ant_rYO`o8}*L?VK6wX*)&%9vP0u3oNjJC2cK2D13ntAj5ISUqsAO}T0{lf6(MEV~5Iq)ty``kHUrLfOFcE$`w4@U7IJQK5SrE8qf zYiCtj?P?c_j`gmcH~p$v^E=fM%)|JToPIPgW>%v@W$syebKu_r3LK!o0SX+TzyS&z zpuhnN9H77f3LK!o0SX+TzyS&zpuhnN9H77f3LK!o0SX+TzyS&zpuhnN9H77f3LK!o z0SX+TzyS&zpuhnN9H77f3LK!o0SX+TzyS&zpuhnN9H77f3LK!o0SX+TzyS&zpuhnN z9H77f3jF_-0{a%doZ1&N$z!iE5AaFOoBI~6Z)l8FzSX+Hys=|)B(-l*G_|kRBtMNs zy-5*1PupCcZYnh?@~a~so|$f)9aFbobH=fB#q!YmSDQ$zkJ`MUh*zYSwUzxCWO#V;s1lNfsxdS{u1(%|0 z%>zSC{`OZQW@=s3yk7MmiPY#weEDW@DFjA!k3@QoSDq@1#9yDpU)7r?m1}aB$4z|s zoF_Hza`1h{(jvFMJY^!euM2O}JCRlz?(@@F%;Q6|HF4hY?O~el8Q1({u6dv;YSLji z@u$mE@kn%eythdYjpS};tWyOm&bZ_Ck(AB%OQd@~ok)!WCll$p-1bRXw|(+1=<`oq z^~rnNXFp?Mg!>A3|19+G$ot3}+e#zX?U@}-wN%DZyQXD9i)?7p16hb9TVgrhj#v*b z9n1FOiK-!cVp-lUXs{dF?}YYEq$`0bK8W{^lb3v0p1xO}-Wl-J$J~j+Vr0a+1Iquy}-4_ox=@TMmP5lUy+#D9|&!bS+k@(J&iiIz?UZ}<9o#XD6-yzdd>7(k1RAGtMjNMI=l?5QKn`} z1Mun(^YN(WonT*W(*orAOlWcjv^gCbO-${XU6I;WT7F&YhKQB#uzUnEDfzyUKC2It z99UUAk&Emz0^hU;&>XS(4A)^bT z$RW7%EnL2IwqXEcbMNVs{_?ix9e4j@qeVaZJ0E-+I^dJHy?Nxyf#{5-WuR-jrfsmg zp#G|jSsO>L)Nd{_@57C5H^(h~Ot^~w-Qg^pEZ(%=A6_HBBwl;x{RAFF;6)Uk#Gq9c z@`}t(j3i~tTA)`NdX0*h74bubGyT^NY!R+Is?7tR@ow1AL^_v#cad+34f6hposbNV z>PvaVET0f5++NztOx=dfOVyUNl;tJT($mG!`1b1K>mHjBF(2O)t$PfaO1^fQNtS*1 zjr)qAd27@p1$zYgSsxqNB6zR$FmK2P3_NbxW5aS1>E-mhm%c_%E5}|A@}}K@oJ0#> zk4FYB--g`fWt(T4vdvVD;iau7rv4lq_IZceQ)gJV89fj^8L#)fOj0tn6PYRId1bVCd->khsV{B4HT7KVvX&Dg zW^GSk6oAvGv0U#(WQWh1k_{WR2G(NYG# z%HUTS{F)GnZ!eFUsnWxjCq~}bx9AM`d^-G|2;VEtwH_uZO~y-Q*uZ zze-|x%WJSjtC0)Iu=2NG@5>ALZ*Lw~_t>6je0h;%C04ZkDa}1SnbTsLcM70+p?3`9 zg0{)sJs9UdTgSwK8IKgbZn8~Mb_x4)-@ZksgU>|pssO)o#`SYMrm#(sT$(16jKGHr zfmwwuR6ej7=T^&p_;dSs-pj7F&F#=m_Pz7CW7eMUL??V5h zuezH18?8Mq@Q$Qx;{dbooeTWAzl7%|#vUG*wUy|m?1UNS<31#Wb8p&oz&XPo5l+(G zZ0d;?c5eBwJiQ|WzuoZJ)&)Pw%^Y;F4!bAcMDxifyjS^0Htp=E1h@gm&KWW2$W=dY z&b!X!zf1p`M^rYKXO+((ZH2yF$<f_M7LUUlA_aPghdK3m-o0~@S@)o& zM}fDNXX)cG^vonqNiJl5lN^nr96RPU9*vzp+N2wJUjJlPa{WX25tK=mHSXb*Ph*a4 zy1P7m2l*#8_gn}6r{J?p@oD@h<&9U+{}m?v5P8+T$<@tP-Ak!^sbBYA)%_ZEzh=_Q z$=msRS$TRk`KVbsC5=C@@oMT{?blyQdGiP6$JKj2_+;Y~Dl71Ar%b-XBAe!U3vJp_ z{-js%$@fKTBlx=Q^M!a4k0;i}BmIt#$IUvdV*1ZlW4oOUiRXQ>0h(j&d{UA~S3#5J zz9!vl%xW{M9J({l9Cu8zDbMV)Hf%{jviX^4>eHbny?Lfd{vCK#@J_Uz34T@Bm&JWd z`U2&FwHTV8OFoc+PoHu=xBTEzlPu?5VE9v$@!up4gsV*uvh}!dP+_e%?;%?Xa>N^;)1!6L3b-zc0J_ z-XY|DeJt=K50c#mbl~OElT(%+bISMC#|H0xxpwf0%`xWV(k#FHI!CABT4O#Z^7f{k%_b^fT!d?qO1`=zM=NY zmiY9p=fZ^ZU$v5c<{8^jI z^GmdCjYZ*W7BI7cjsLzVC$(=wgmqF!U#JA-Z_M4)mue9-|iK7 z50baM%l7@S=08VL7H+aUJr4V^rPd_3&NRtG$lr{fseRJ*Q&&hE+7(SV<87M<%hU9| zqN4HSWDFWhJ|sXq#S4lD3&#?6$=PTXYELhnXWtrwb~fxo%tM)Z8@ z(1qs4=`rT-tePpBm*b?%pvO1yr_Y`<>cu+JGVsgIg-+z7CnnZS0awi>6~Jr8-^=t} zre~R{`xc!AAI^jyXTamrQ}D;ypn$IH9K9|9Mkl&9w$t@nuHL!S3+Ot5d`G%ko3RON z;nQ^@bS*VW5C3P`EOa)sZvHeDLC5idu@}bzr{+nMoDQv{&~!d^YhK}5YbTxqALH6t zCch&Ld=l0NlJ#oZRMB4fS;|ABpk0BJ%dk93?qp||P*-+VwlNz#RDOtfv%z3DVySKD z_Au-QHgMmz*4B^8upNITJqNq7?R#0N)?pO!{bvH_xr_$J-|2YIV^^s6z9=DF#ZMEZTD@HpV3`1h+W=%DqHDL2XA zQNJ2GWXfPbi#I#9ZRf+UX&dH4(56qPHqZ`z7oI(76Q=b~sLTBDM&_C*SU<{#T0@&S z^a$C~6>W3a`kqNkH_>x_k+r2ev7OJ*#?q%qI%SgI=UH-C|4<^`kGy!e5#LvSpNUL( zi+k4c>zUU!^Sr>A(MMB9dewTB=vnBk;JK+Nk-k?c^u32PnBU~z2XkCJt0E=3KGcZ@ z5i7frAIV)ntJ^!(^J%p}^+Gbq6@K~5jZ?Pazm<}HAU`e^#V=^LnSqSH4bE0ZnX@I^ z|4(G}*}h%MXcK)0GJ2-#yUEGua?uhQJ(coI87*ae@k1(7k%O>>*h90*Br7QUJlQx3 zSl!CTad}Aab z@C$sLz$VGZ$+StS@12r*x%S|e?ecq$$x6x3+4eo(zmYz)*{Pg%J7sOul476#q)oll zCX(9uR5Z0+{$r_0ehoZ?r~DGxt6w-gpQ9}BU)DQZ1K%OWvwV`Zq=66d&zave9Lw_6&YgbWa(L6f{(|#-pXIT_YK-wTQx|ws>qXES-8-Wc_ewe zgWZVj!Z)|N-E3`FQJd{*w6?3ryBXWnN*&4PCQ`whPWvY2jY_4166voh#aF%3rg`4w zq``cVIq!F(ud{FBujbooXlan?fPR-izm9EuyEl>gvU}x9X&2N#wNrg$ojH26tAD)G zkR3dl`mAH8ti0Cb%m4ZgDKSm#V0-*Gu!9ddTEXXq_{H--Em}E{d%Zf&)%gCJtF@+S zll89VOKLIAfR;8P#(X z{-WerYx9n=o{&uW>j*1TZR?2shb1lEk%4yZ+wv4~QRY9*dH zD>q!1ny+zd&*2P#11NB@7!keq)3`e#@F3-mv-Tl#+s+yeT43ND(HyQBYm7T0|5 zmTu^;bzL*^+s225Lk3LB{(K(%-u3JAV93A5gXza~$%C!*(H#%&wd48%JjneQcrg6< zZh3HYhzIvMT6D*QJ1wsHUcndU!NCJ2<%W0=ixRiYzAn=z>##O(_GZ7fX870+bZ)}` zmp*?6et|qye$H6#;JxL^L5Y2`^-UVv27j$kM&6WH4GC=iw$d}M3)Xpd9&+`Dstx)x zj8rzud?&Hb`ep~2eP7g8MOfEt4q_hbPxSe;-nUiOP8AvOGs#!!BN*E#^83@3fflcP z?|Y<~wu*JeKI;Q~$Ke?3>?3#J2Wz!VpUAG=+*)nFeERs5F8P!Ujb-Qb{f{M|y5f_3 zq}#|_`opgUF3>fm8=c&xvGk=XPo?SA-#a|rHeyqCGd5+Zj(~q|M)7MkCYk%60 zRbK)8Hvc6w*ATB-9Y2m3l-8%Ab=D5%nezjjoi9Cw=bg+sHOx8ByRkReIj5j)&Z)6; zPJ!28aV_x1Yh3ux2G*_*%Wwp5j?yQUQT8Y?E?0)&&OtE+cki%Gd}E3 zs@h@xgS=pUMB3e+#}493mUhU_WAqv5-*EggV%1ZAPT9~bb6kSGP1&b9$`sFCLVBEg zSJlHz9i{TVX5H2k6syhmHn*;vvXrtr`FqyYGdcd=U@gyDL;Qky#`1_Y!y8yYx_vJZ6YhFy&J*2FI?W3WnuPl zFf}gi<)pw%KJhSY;iv-Ew3KV?57IWDeIoJlXjc~4{a_C=@KvSv``3BnWdp1{%+ER5i^!OrEyW{UeVZtI52x} zHlLjw9^?}}l0(SY>Ixqie5>_g#Vk+G@jLXMRO0cQ0wE{^32!({`#2U`>{X^ z|4;}2P#^xVJTtX8*Nlz~uUQv63f}454tqS6^+TnpbjC zpVgXmn`HX3i_(9ZOEjrNv4W1!C%pFV1< z`U9b_q5Nc?!}K}Ay)Win+ZHPqHlVc^rKrsXe98CuWk5h1x9_eb|%B0k-IqZPOBO2j!yAC$4U8 zZem?o#2l|ZnYs~v?8)xYu=YO*T`}Wx%C-bk1X9 zYwJ{%|AD%)3;PyLq>l>vDre4pwc+{7&M_VJtG$^2rpb}2{Ef6_VlvBZe2JzI6M)7K$3 z2D%fSZn6GpzIT$tS3axkcfj8!{9NfU>$0Tk$WGMb!#)AMsh zTk>H!U)8~f9RVE0$%FUuVQuUV{Vm{~;-z^?8FPQ7;M3QpzMpv+uw@f_QYIZ2|1MS; z{z|s3Cq0@1Z!UsI7s9K__^!@xW$mFgi|=dt@J`oQ9Gr3shkaVoFXFfUje0(;d@t}@ zi@>2fzqOY7diQyLYs|q2{MO&oPW&v!PZAGA6YW8S{nn8VcGz!yz?B7lYhRwb@>_E| zl>2_`UCx(T$GfilR*&+)Z%uzS1lRekH@o(!ZrTTa>tDldLw@VK;d1A%Xi&Xe$eY}-p%Ym=X(GgXh4r$;-#t;)fx!PYI-9u~gbm6VC+^}y5| zAs^{j#t(l-FQp!Kq~)oZ@~WGTE~r1L6! zW=~@6c$Pi4BK<4EcdO}Hkx~pC+asKDM+gbADl&^E-Q+sY{@P zS#Oes!ilj)%G!LO)q#&#hb&khXgog9cx)Ly;%Ahp{$OAk%J=ZB^Rx01oAALTlX^dp zcX7_G*!^$pB|gd~>mvp}kRL}_U1ohm-v=6mk0?J*XH0)1xY*CV)(0x_np{7=4>Zub z#`Pl{+WPT*p-pYRP^4Gj3$6Bj#Yk$e^M$5`+D~%%{rNibm3~S+`L92*=^!tq6nvi{ z<+qLUoy=^iXv|Ii4|YiWd69Qrt!Hdoc%-(nN#C_;f%lY6i@Zhq@tu}ZM>-|{B}v}; z7tnktdC7g)Z}PBvUHMJRY(Jg-rs}Wy{>^(|QQR%-jXkpuLbv-cAM|Bj=*OJRyge~1 z+00xm9Eb(2E<4meOPs15)RK#DG$9h5yM!~vxtw|0HVxl%CcgQ_;%nS{?JK?=Z$buT zA4ahTHQy;uZ=IG{w}pC#fv@N${%Tw$$Z{F9opYGr#x2}sta~!yKIh;L>)AEjeh%(b z2X{Ph^MHHyL7idMJ6MgxEV{yRpVQ}Z2kUZR1u+)cP{mpP01WX$b5OP6|M!waksxZmHJj)IRa(yfB@I~5m$oeEV<|mu_+I7(Cvh_n* z2N7={BpogA3TWT-n^-D+ac-G>`~EzOSDPpL>xZv{n|y`1>ftN&P>TJ@BISpe^7Fu7 zXG?_VOzOVV!yM=P83o>FJZpbE%y*q3AI`aK-&ef|Ik^ydnT*_Afc-k3b0)s;P)=Lz zdv^8xi|G6--dnjwmXV81(N$-q|H_=u$o{ZwUM=?R3GANaLTh2pzrQJ)cQ(4VhPF#- zSI2XVeR7>yyOKGg?y$4UhGv@^duG>6S33sYR@f z1DZ1rwb5HKWJ~j8iTprpiRc|ky+ohlvGxS&PD`w7KEhvTiRMFiXXi2GJNmOk`bEZp z-#1!iOTlp~I)6X&N)u-t|AV@+0Z-esz{N4wcqy6{TYIt_H z=0NE`eOBsV(@_TVs;t0?w{-c7-~(qTfw9iS(ro=cX9@$K<6) z8;LzN5D!`d?mlig7Pq&F6TLwB4#wu=;KzwhjK#+m5~~^=loKaXU$Y%<6M;L3Kj9@_ zk0meujV2Yo(u3n{nZ9Z2_}xJe^IOAu>-iCCU+9%l*UAz6DkWck81c}I zXDf4Eo5mRDbSfg8i7)heQYKt}=WuzGl=&rpK|tGt&*wIpIzBH5XqoW&+}qLeqboUk z&R@W1o&Q#z-!{!}r+<#6e~xRjmHIF7C;BV?w$sM(3%%b_CfdJgQ_!mEc(XFbM3y&rtrSZXZR1T^Ll8VyUFui@DlAyPcD2 zJv{v1!{n#S!Udn_|`Z==@d$mvN)IIoF zTBokyoqRd-a3a0q3f7w0X3Z$O*HU6*m}|9e9VfpRUz@u1&|mv01*}!&7cHPn^U8ds zMTztcN*SNlnd^Yp#9qu?wSyKaTca{?x?1(X_bQv_doygB=T+HMeC#}@?45TW`zhyM z7tAe&y+(b5^&v2K?rB~7Cv?N|#`XUw*?#l9he=x}>MVCQ^HmS#EzWT-igQLk z>YwGNf5DK=z6_nPYZLtDNx5dt(h(C=1=)#o!@U(P4Yh+?p4w{OScy#(y;s$Kh3}*a zya}|wR53={gndiFdmLF-UHRcBa?V-j$p%qh-{(a5OM;v1;3-|cr^T0h3kOYoj~ zN&Pi5CyAy5Xs>>n@WJbzOe}0(1m9yOS%mMunLb5-@w(;YVD2jL=JBlcRLxOnLF%Vu3BHq{|DS5Z_ zJ5=*KJmY)8XK80)!i(|Xw}tU;y)Ch@b+$>rTN+Cq;%wkX>RG*>&AO4ic+vEVNj^v3 z(zUNy^C0%|?W04!!?_{-oNRrE)$#rjpGQlE!K0q&VxjjvU^HDxoQX5=?C&E31>S$C ztdjGHj9anZ-u5|>{toHxD--GI&~?XTlQQp`$xXGfA2iiQe<1tw2=Ar4TP8-5TPMbn zS@_<0$XGo(OpMs$+r>BaePQzn`ldCJW{q$2qKCdUtYU9kI{bCuG^0y{7cOWi<~zeC z=<_i)e+%C`R^s$mi#pJ%RHZ49LwK6o$nX} z9Mzxj+y?!HW7TJ^Yqf3;aMk-tVEi#m+mIhD{}((~$2U9LmJj#+U}!s4;}BiXg|0JW zih-jK1HB6<-yClt@wTkc z8)wseZ;VX~yc2Ai=M|DRuos5E*x_4C`N{hhU5R{Nft+5Byk3UfPGgOKDc>#R*cjW_ z!6VbZ%Lbn0a0c=4sy-E|YoT@6zuR+pW-QovErO#q&_Qjk!tcB~qut*+wQD~sAEQsj zkRznik$J_D1Ap>^PVJaC8cp(D`c#{bl_EPq{SQ0UZ|`TDYXeLhOMZ_u9HSno=PqK@ z!-1(Y6q?ud4b}_zxO!He^+0~>M9u9zncI6oA*gTJyU0z*=WU$L~Q8Tjyr`<^H_B z!p`d_*m-@0Kd<*lwN9|}dfPWw7LNO_0@+>>FYhC}v7&5AskQC08{YvZ;bG5G%=G8= zM<^3M%_Eu9SqG-Ayqn~=DG%oK*2}DZc9_%Ug9mfx5bEl@gksMH_-oBNKY=aKd|%5u z&G*53t)YCstHis7chZvuN?Fg$SIYP`$G=3MO%vGDQ5m#S+4Cx64ym?fh2GUR&G)Xd zX`VO3rkeLJgjbW{*#+?Ke0X>sdU7uF{yEpd+xB?0>#N?v_51ja&F6VfkaoZBG2Sus zC0=VzuEbXxnlK+v)E+L+XY%fw%%AZrzG33qr7Cn+-!hdG+tB-qUH$cxyrZJ9KY^C$#QVi{CY5OyP9A7P_DV9w@vZkZJOtO2yMDspUA%{!oO+8 zzu`PjdMo~+?7Mv5&8)M;zZ~FPwy$-xdsI>R27b03YcjP<)9)jn zwRZN4fFqydF0I=$_8K?g&$VudS$%G)?1fD9Mm7#YkNdEP6tjCs(qqwAzWMLyFgKPO=w{2OE=qm?m@n8mLFn$?ic9O+KN9!Q_{oT ze~zW(SO0`^$%XcRhLC5D?C>3rbkN`bDfCX|y}r@!u>a$9@JZfPS)bc~-@gA-=sn0g z`D6Dhb^7o>)5xQH_fl35Eu?#YP#N}Xnd-4t*|+Ed=y*Q#JP#dny0yXoPQlth2kSN3 z1u%YLVdQ!LMcNwEcTk=8cP|HipjVHg2a?a5DHDJ0a=x!*ayDg>pIeB1Ek$P(zX|;6 zK<>0xEc*F!SK!T|&0ASr_|?FPj!L9kkw3);W(K}5a(AKY+xA7=qGm*5-*$XF$*tn~ z!Jf9(oxZLel$^`FC%n(1t?+ly~H-?5o`8p~+viKa!Q;r(c6WNlT)IlX=UE2DlD zxQ`?a_G+~kI|urP=fPkuojI-ZTyF;Z`>~a@sRCE=`YXxaOzVTj4E|^22QBm^ezUK}_mC0mf8GTBtFTkzT{G** zq6qsY*gWNZzq4q&?|0^Tf24ggb|t#-R=al6cgZh7*Luz@=?;u{bO**i@f{s}(OJIZ z6^_T8rCEzlYriWU?P4&SfT?=FCUr5(PQIA$Lv>tV?w!{jv&^S$_w$GD=n3xUiFq$j z*Xj(ouOTm6(17nXG*UQs6>~-du`<3dT3d%r_ic9{YtQqDH8pcK$(Or6HrDZ~i*+;r zNA#0?$)28RWv$SAlyc$zuub#42T8lL<*nGRcdtw>)ZZA}Z};)OuI!|IPkk%r z^Ox`cff2~ha0|a?$`tjjGnL4XPxC@c>#g*u8234huMvCJktQAY7fu64e{kN(IKLVm zXTm=x`A2j}<2;CZ@9|!Kp2jF&Q+!R*2fAg?GJeK;UuW9S+XVKl`&ddx{(cAyf1G}- zTWiKZzU50Q)?2^TyrKJD-lA?06FHB(@Z3r&-dg)qf{zlKo8$KU*@?k-Yb(muA8P03 zT@$sw#um_4v5;o;p^zBJD*DklpQC&ye)EpAh=W*NDe{g|UEcl3wqgIzJ{NgEAr*d- zAHjT{w7a;4zIW~FyF86QAKlVj65pr&N7z%%jk41}v+HT;yw24Yc-g$yyT4yz9w_4M zY!&OU`zez=48y)Yw{=NPo{E~mc6C_h;7ZSh!no#)!eSWDq?-PpvsYVJk~ z%6C(){HgMrk@<4xhnKtO_0I2J%3cfShq)7>Z}M;_yI-R}(a6HW=F0EX`d)H%0q?Y* zrMX}I%kK^9on-6C4{DDUkG$06XO5{-`*`%PyS7Ak_0@1e#f!3yHTd`VtJulBxvQ{~ zl8Fc5Rb3yw&znokX6jC8D4lAE`t?*6N2eO1W?i^%*-7oKM%hQLH1WBss24rN&zFSXJ4R$%+Rs(>bNmo54i5=uzrMDw?psPi_p7Q*mKppC-m+xv+gCvyEw-jr?Kxg{l+!0KdUv% zi=>=`J+402Ono@gZ*1_axQFUDxp9j|yTPS}z5dVG7uI@6xb3F=J!t3K#3FACdFlE( zc!IimiF#J-K_edOlyeI`DANW|Rwglxujw3Y4u3Hs5j?-<%` zh5tQb;KxUDliPS-w&XBtD|TWZJ|iBgwaP2NuoeA&GU_Hxy6}5hhQ*+5D%)jy86{%>yGt0DJ zevNqDjSbQLfRaP`WslH@^i6yJ!}ts458*Ff*K=Qybc%T3)E71ke(|Z_%I^8|#8T?( z%>Nqd>Q0xfTV(?}&LKbG-3#y_u*KV^`nI@+a_ip(^u_lUFYH;5VBd6ApLY6M`;+Hg zOS>lB5mwow&E~uTOxc_ndIyiINVSJ}3-i{Gc<1Kl6*KL;Rp1?g?rJ`$q~19G(9iTr z_Nx8wI`X^=EgbnHUEdF)`6?Xq7yV?9C(-U6=0a?tSB1S8VG`q?7H&~9Mz+#$mfFe- z^0ckgq+esa!&n#Ql9u)FpZqJdIEOvrCf0!4j>t|mbB4JZTh}~SG4@FEVbRXTxr6w& zKj-9muU<^NCc_64UfJLzK2~8LwZH4H<=cI&JyScc30mk!ZGxDg*6ZSH;FEnwo7P%= zbJUj@SwG~lKXN$$`OHI3^RXob*plpI-~&bqeILZX$7!g&$LX8E{EYGHd!YxBkC$qT zTEu^SGZa_)@sMOgtaz`lUj@mAXHHD5;hw+xQfLo;8rx@+nU62FvD_8$$Z%g)w8#ET z&(u!h;+#oNH_ePDo2l>1d%m{={)qQYl=-$I-^;-sDAuJh4koYnZ}VREqo%?ne?eaM zpso+`7VO6J{EcEBiLRH8EB1b4eOWWM+MdnKvwL2TQCHtVwSE6oUh420#a!BhxwP0@ z2i&HMIX{ZbKCk>l#org*Ivs&uh>2((kWYy?^cwa%$<11x$tTLr-uW) ze(vLy^6?rS#_LhxMJ$}}cYHdpALZjkYR`gz*ZqQhF);}2(+cI0RpIpS%8wLI((@AU zQ)I4bWFmd1t-~Ct6n@r_YTgX@+YtIL?osA|3D|VaQIG0;4tdQ{k0PIS*pud%`YW;L zVe)`w{a8Cc=HpkEczO8a;?*{{ZqQzm&QY-r;_e~&rup7dH@{y^`+&D=()Z8poM3GNKDoVrLvwEVNIU21JoyKb zL*`!J78ZEt+vi03FG?BXdeW}Gu?(+Qh1XB07uZUDhokRr)IOl`j~J7wG0EZB`YrIX zFV7uew8v&%0hVGYjY=8gf070<8MO^y{&Pwu3}lCx41L*lKX7oqrxd;g?Vi~Wee0+j zrtiaFgto^W(IstH04q$}T~qX&NdKG4q0KdeCYGs?%gs z;@;)L`zimPM#;$n-Zj(4`gqtK%|RV}kR`|Z_Hjv>T?1j8k_Ag>4-DDF6M*5beYiu8 zzHEE>letxG{^TDiw>|-Vfzy53XL_BoDxO~;6`VsHUL#1uXScSMPVD9$W8?LquEt%n z)FclkZ+VXIExuG(JD2aNJZvWHFI@5 z+w`wK$*ilw|F5FX;t?ht<6RX#zuGM33{oJc`{*yoiV-|ZEpm2-4)#1;%IWSp1;=qyoBePDd-yWN6n>) z^beGBpXF~!>+Z1i*48cMOd)G!;qY_4r#yjQ8OWD->0RWP-|x~Nk*>VMaNm08x*Jr7 z@*lhOY1Lgy-EZ#!$h+a=N$DW&aXn=+T!G|xMiG_04wdCEHII%;R@ z+B#^~yn__lG?3P4UC+7+zD%vBuQ+S=I@ZQDTIag*$AWU!#WnaoDmS}Yr#=vrL(dxK zj%oPH(v1_q;TZlz#{tOhT#FmFgH-ia4m9cE5L=UcoN z9-op1ap>TzW7t**_cy6y?VaY3VF|8MCLWIdearc3!B~E-vBY#Iwg26q#gR2vocTdM zMT&8>t-F#v>^N9^Z90c>=x(p}`7Z9AWbxw8yDs)(gwqckPWpC1XSH4fr*CpbxGd81 z@ZdhmV^~v!ZSZ%#41WD{_lw_v&%y7muJDU@#82y=Fn%|G8T^vH_KV+NFBD(9r{7n* z!moEn{N6#n0av8{s=BDZqiSeWUIc}W#l3WGvcFWg7H!|<&R{R9mo8pK1`%+fUvgxm{;T$^Y za>H*&m=$^4`FR@Sl)P-2=->OPJ`TYT9OmY|Q+O}ER(-=gs#}1odsIuQqj>!;SMPX7 zFX_x-O+T7Rr&YQ}>CAgnm{=QGQ_Ory&tr+yX7QXzeW6Gu9uEw+-8p~eg@V=`t zO>|>g@5ZzbT!K0KWAYl)KS;mKn0|es$sgCvm=t>r^U3FrS&_er-%sJ)eYErUcQ{84 zZp)c}g#RBX*Z6E(_!<{aYki*T9@l`E;^Pn9n14x|@R(=bk+>gTepHd@pA;YObYpI$ zouB+Bz|b5Y$h4(nf30s5Y0*V-;e?~dH>exX z;|B7YgRi$~z9(62X3b&y?^3?oe|rF0B+rE|YebhWbhaxw$b%l=rM@wVb^lIZJ}vUR z5=VBrOD>Ki z{W5aVi}5ee_?ZL4-_LiF2kex^>mcSX$+p%(>-#6Salg6cS%!@7#K)Ij^amf&Bj9Vh zj1NG@^S#&ISaRCNlCM}@mt$DpW~2OlLCv#&o^0|@7ye(6e}+4-wO1qD{z^O1&+1&` zfaF%jG&7Nxd>4DFJFpLN^_r-sF^C7h6K=BOfsX&S>+!F3<9~zt0dK>$dZx2$%iZ|@ z%i$t>_7ZvVa-I7661MsgXc3{!m!U;3H^ygN|2{4994+$OXtCMp-gl@M&>|`Pz5p%e zJ6haJ{jO-S!O>!pqs5&L7t!KY@}k8p>g!9;;u2`_pBH>NT5NPp6)kEVEwUXg${jAE#TfFU#R=-`OVDBfv{>{dX>peu z<8ar%Pm2Oai^4WqThCjZ1QNs9_M#=p4!eOeScS`@X>qS)2@9rXfQY!rT9fEFo7i=R`!D_U%I zv{>wD@sh(ua`7YbqQwu?*O!osd!WV6^SjoOFXOM?N52|x;N!?n%FkKg#U5zQY z_x~I>rn{-<^EcnSjl9)=(l0ZnX^g2+W7^R9?%Uvg!<5!^?!L*^(#Ux0D`=lB*1q1; z_n5ibYuh|Qdu^M7JLiKtC%*<>8gmuv)>r6nf9uxGyl*CckY~SP%J(K}Y#aPLC-32% z=oQ2Zf>?p2gR4{P>fA|c@5mkA%^kV>AM>V+F|Q8p*@qsRw8m{4^RqFHd3ENPhlj>| z7r5+i%un+^JmwyuF;8~m+25GYbal=m4UajV9l5yePT*MQJ1hjUhYoH{Kt~8ZRUdn}Xjac&)W{wSJr6m!z4$O@N$qPqXrP2bu-HO)!JL zL}v)RYzMNzI%E6tio6^GXTeL&MHV0{z1>CAjUOVL?t1MN}CPb5;e zFo+Kbp3Yii-i0fgtp-o{utt0DRt}up3clpvG{@7!=&J+WIA2aIZQuW~?5-NnB`rm_ zKz2)9-vLd(#yiPwKgy%v1MS}QY1b~FJI?DEdy!oJjdqe{E0^p!TKz=!E^=ec23{R> z%Y|;?-+tMp{;Zw!W$zEb?v9SatxNrP^Neu#zpwwrUD9v{eFZe!NWO#q^KA8>v`hVW z^Jinw&W^vGzK=r#(Y;IkcWpZ9zk~Tb-gnY}_wH%lv3J#3|0xgi;1=4c|bbMgx z_!;0YebN~y{qA2WG;XV}GkVUBf7R6=pHaVv`T^VoaA)HC18a)xPGFx@J}Xq-24Cj^ z9sE_>6b;3o`0|O8qcC6QFZf_>_mrGh-3KJur6uJ=BjWZ6h9G?|$L; zuC!0Hh2Of;p6zq++C*AxT=pyY96C>TxSRL?&bxrN&ZlgMF`Nen@b(-x*DtGMettBdW0Kx<+(EA0AHP$ia)fGP7 z$=To#KJx#C&k8q(O%37mMQDFG_}u>`X}_2Hft)|7{*kj=UH_v){fBwb?_ZR&cjz;a zGx`4-^OYfff040D4letWV_hHWceWer8KHi|W3+M>>+D~3m}l^pGJPfaPr>hyS@~&S z4|ZG|O+T^2yc4Vk{{)WmZ?qmfjXXBJ+kMQh@;>khHjwvy`+VR{ig0sXSS12Ej}Epy&H&Nohc-_T}9XV7OocLm4Y zy;-;Lyfufrv*33t^N!}VO#kd&>QuAVFo*hZtAJaFeGJ1rF9U8>2=2CS;ND7|?seMV zt76RdT-_@g|NlGQuP(dDbjkZG!7TPHZYS-A_o46WKA-pR1IO`xlkQC0&2zx}nr?X17d$_Y_nR`{ZVth{rW?3v z>Nwta_@>UEr#td~B6Yj-MXylb=wr3cS#T$|?io9{;~HvpI5y(eo-0D}k<}gIBg1nf z2P=a3NU+wQO+VtTzN>BfZgzto=NZ5|pO@`xPT49K+pu`)zV9-vdxGCQ>c+P|EEtc@ zhy33d&-9*Mj^~8^jOQg_FmJg%yU6jATGy1nidzv~|aI%}zC-7e9$|s{MP0&i` zkw;UebLUymtBATms&|L;PB5MV-s5~zFf`7c1K4DhjbJ@+sDoQZy+a-BX7pHR)hhH| zFJ(zKg{Punqvmd;0TVH;Iby)rUZQR|+Z`QT6Ziu$ZwD^@x2YSD>X|cD_rkq(M)i?L} z79DI^`9WH9oR18hhb*0oOr3*loz0o?Nqn>8eDH1Z9+XqG@`HuFujXg8DcdeMM#)zcVjID@BtkAhc^Wrtwv_jn!b z$oj@pHgCA=l%}HgKGxB;DM}yU)(GwO{rv{+Q9LK;gL3upBR%sSt;Wj&GN0cBScreJ z$t;1V)Dd3CI=(HSu6U|7|6XLRtseM_zlXVc*HBOVUBtKh-`?H2wh4MjhghH5dyF)m zgQ!yjZNGOG^Gj{V^^4mh3F-Hcman6q(&vk5Cq17jJwRVZLBHmaW_)w0N#;iu|5$Uu zS=2cKe^%#xwSN=kp3oS7_tTf2Z{>YFZu-+^yd4Acv3#(J)Y*xTuYSf;N4|&FdK@^n zF}Ncr>uTQg_s?~XuYE1lYZCka8k_xHpgz}i|C>PmU91ms7Q>yLUZFdD_3fza)I-3i z=3HYHXF;_N?+FewiQ!_aR+!Q4_3lwU&OKIfCRFtd_3CFv_zpMET@u`Mb^bMV{UIh&87yStst0has=oUz$) zg70^qN4>?Ig{|gHY#3u$KS3&5 zK2F-z@0V;Vy`b&4fx>6vBtLi4M)Ioj;SZ8mS%P_}1{_B4Tmx>{n>CWlUm$zIx0J7w zSJ}PP@%5oq=xy$tvdq-apAZ>!O%uOu zV|}&Ea{M)whiMr*;WBg_D_dI*7ZTDM}*P2V;T6Fady6&~q zcfz|lW2SE}Bv-PV*-jP)VgH7jqU{seAF?*?yXEOWfs4Ld+RD7Ab63v_P#9^LAx+rx~j{Nph?@6EUQ{%>D%2STbDxauE!i=Ok%HqZJ#MLd$c z{jW{)yg!o$`)t8?==R%+nEwrJm~Vpj0`mRFbCvZC#iLV8e4dwtik6@UI+bRp1#_u=ga z@a+58$>-67jXH}*yox=WGn$Cd!wX!KW{AOr-yjUI^d#ZvE%#Q%7Td+kb1ay$5n zPm0}5CSUK*N%$w7zd^X3_YK^=3cY`(_nTB7oHW0bkT>PS`2A4dzuH!M7Tq|Y!Xg|`hEz$TiKjmM}J$Lww*u&KZdw4jq9h|v+0iLtw7^`?oPwGwLJm%SqdoJH} z%mwdr$`a{oA|`#!kVN_%o+l|k!q1;g{x$AUHj&aNhVy5NhY!)W@71)OL|tMQ>1x`w z<1Ig$Vj?4lwC!n?n4bmq%g(+1jvkWvO?mt>dv1QM9T(qV)S39Wa2uVm|4e$z zSe4ftvlv;BUt0@pbnd?D3g1t>h3BA-&UY-}ouy9-pBOm`=rd2g1M3NY&MmNWVAvjL z|4Q#RMn{cn_-r2EwdQ$Ou&%1Qn(t45W4IqwWjfx`fd9tvib`0r~ZHDaJ|yu+KS#*-Hi=%^|qpyL%>^h zY71+^8OW#FwL-(S+!C;Qj;M^BdfOAip)rUxYu=IjDcQ zZJXyELE5^(uul~sro-=v)f(>ob9y-)-Y-j}-^U)tP5$yZ%;{zLqN5HnY2j~Upm(v> z0e4~;_O7v@&f$!m-v(cPi1m+rQTR zWqr?W8C849i#;O;510@!A16u@w6_@?_p^m~`$-^0{zJkG2kUNuE9tu96` z8`nBCGJX#@B))ZC%e~YYhD{h9!+v0oDoEozZyoCYuEo*Vh!Wrl=Z&Un+)u!}@fc(E zZUXs55tIKj(qYFimcz=|o&DOK1BhYGU3Ij72I()@kNMQmdYSuB-qd*-&D}T9Z(v8V z=|l26jJ`Do=R(_2cX)X!*W@lA178z7zfHOHPIIW*9EvQdTzUB?wheMn z7Rg_piyYWzZ1*z!0^t$oonmeJJ@aPhF$X(!Vr0O8=Aq@|ClSNb?@A7h`M-C*m$k>O zF*D}jY%}_=Q8Q%_{$}f-$oSWKRF4zR@xlD@ZRgfO{4NT31Fzg&tz&ZePUE$m zt!o1OXYSPR=H+?6qEFfKe$YXB{44ZS;~Wf}llgl~uxNX>=DN_>i!49#yl>F=qG4uS z4*d&W0-j11H9n0iYF13?MIVCQJg9v9s9rw)x-ap&&|72CSxd!8zXHrSeX9Qycx)Vy zNWL>7@o_FNqDz)N7Qoz1p8>qO5WJ*=cZ`Eq2|UqtQKNq;Pxl33ZQI z9xd*3aW(Jp2|kuQ4vGvq{L0W6&Ipa+oUX>e+!NqB8(b1OKCXft2R6Uw@bNZe@MPc) zE?7D6#1QPGL$FWi0=DeN=4j#aC!>Y02X;sILEc9{vO9&5!sYrsqF17q?AhSo=ja7v znj~AmomU1w`xWGU)VIGgrMdM-^M__v%w5G@V5&D`L}Z=lG6bBsu!?gO-1Ws=H#1R^ zlpG!gev<1e;DKaiFyj#|hf!a7&AUTrr+30t^bXIpaq3C_WfKMON$2yN>EP*iP$Vnd z&6{o@o~z&7jWecrZOR1h-sx_d|4!iR7J8$QW$R<$;}qjZew{iS_qVnvKgC~LwB7l}Zvjd! z`5n$3+=q@WgkDA70%)N-m$LPaeqy8=|4!xxjbHMd!e5Zxl-x>J9=G@P<#{LI1L>UF zpWX8WYoh|ef9}wL& z-)OFR0NE3*R3=@o0~gU&di(EgJ_zOj>8;>Qqm4fYNKg5_9mW&D-w6DGcV+NXbAWhe zdHPA~7~)v@%yVt{yz1}~oH?PsukWVs6Eph0E7W(&!RjPS@Zm;iqCQ$^KMcFB*tz`0 z*YPdhiWa}_<6rDu2oAf^J3W7h%=-FW?9FZKr`Xf{o;k)*^db6doYUwl^S$Q&Ho4YZ zvMn^1Z1d+5?S)I{Zl^EtM6z-t`JLch0nE&G)D+%n{;tx!F#{&1ZbVk(BL+VCSrx1? zH*~%mLcX4r`9r01=t%9sExE+~MnwkLyQr2qU+a8mA)OwYT`<4Ko!731CN){c`eILF zXS6;S&KEjdIETJgdz*FU)^YNMrpo7ZI^;nlJjN^w@yM1fT2l!rg zZ&mXFe%iWaqV32YWjZ@BoILA}DQD7O^E`etDXX8=liPsTi2lqNQNFGYymaRuvNjc8 ze2nzyHgr#T9_H}$b&`7zgda33qP(H@t1Ykboj@6MDT6MuJDWM59Gv0TZ%08->(8qF zb#CnaX}cZ%So;_0f4pL#vO{~zeg4P}P4ex~is&}kp?ptgU+S6XZ}#nvf2RPkjXG?R z?i6SW?tJT?E&H=6h;69tKY%OyD;Llek@f={TiF{{VaAvaKB-n`TmDAGv-80&dOIN-=$vGk2Xa5ZQq~+nyDK}jV{JakzaQl-##VI> z_m`ey(if;5G+j)*B4~RyZR5kf_~fnN=L&Pl<$xHpDAg8PWd$S>d> zwyJx+tsmg?t(*IZ`U1n}Q@-~j`m*|!aUaoI$~B*9oY)q7AJH>z-1n1;XU5_6PoBf} zV1M@!{gt}X8|^ox$y@$eTbS>iW_^KtPvx>D0X_ee=-OthEpdi*@yNl}Mw!vk;Wmm3j>6_!yNP}rh2I?k z_u-?s2dlvBlN@H=vzkXAnR1v-neSH*9-w(8EGyqRz2jX{dUvez+rh`uPGwq~_q2X# zyREp=$yrzThwaSR$GR9;8pj;$SEHN9%n!=bWt3~5#jwAkdxBqs$J(>nuf9Gztiyb! zJ*$%)uD+fYc&jG(vUEJ0U4D3g>S3t1j{Pt9GE*iqCu2Hn;0x z%Y@I5&r8-a;`5vAc{+57TIi_tVkmaQmi-#2DE}cprY$r-`#;->XUg zj=!fEYj?3#(PATOZpGV{MTU*r7Cq7S{WNye9P0bznd?l&P46MDul^sSUSlcoR_+9< zD?QQr|6SEjus<*-RyA&0ta{u6e0tp@yb3>j0Y1I*<;vsJ%NM*0x@oNO?`YdNG>urm#){lny z&(e~#2%u)5d z%mK{HFY~*Giu*sc)x4pzhvIiReFSluD&kg>pPF1VW&v#$b5C4=cW;LycWK#}s{Cp8 zSElNI*HeHI#J|=P>k+Ps_nyl;jiu>S)~V!G7Qh=7qJtmT&9`*_g!wF>dmSy>6i7jowR?ckn zV@uyc=cHpBcqhL^_=%?zsV_PNbcwJw7o1z5ht}5vc&}&W6)%xo_IC5#Y6mOMJHZRy zXSw$cq4(A7t*F1A!0_kR;RWna`j9O{AWNZmm(X zeKWWUp9J)MFmBccbD+-iHkY>hT5+BA;!KwAw0=$NI^7jFGCTF@2?p6Cjt$RF2QTd> zJjC5;+Pl;~!lnFv%NX6?h5p7Dw&S}dgzqZweVFyN)}CKwyju5!Vqhzxf7EtvI?`#; zPJT+0o$I;(!@?-=jw9_#zcSAxY2NDNU{x{yJfGp8Wu4a1KU4i^P~XK*#$(rIZvtDq z`_!&|akZ8I4NQxBK;vd)Jo0W+*5K24ZFUZ_8wsPJ|=fak+(d^SPLHS*YPyYU@dqE zWqR&Msx{ExMWkVx@6R8dOKX`fI_# zZEL~l4t}r}w6eHavY6-1We%}xLHJcgz0g{)dwJa4*QaG@EqIae3#|pu=UKS;vdM2Y zoWgt7f~TtODVbzqV{>^d+cgSC|TwtrCDTov@G_)Ub z@T0=|{zvfb>b^XUQTxTeqrK#|iG3Eyl;I9E#Zd(Nx9*)S#}EE4&sq;wVw2oDuzOuy zU+l|Q=zD%!Yr-3phqui2>)5|IKDe`VfYu3=4u&D6 ziFb|6ud3^TxAuTF?_Nc@=r_Zr`Cb)i5$iP{@AluDYN>p+;Z^3v;Ct|0)5@k(S%=je#8jJSLdegtkl~*j_idez+C9ETEj+*p| z_($>yAD+R!6mTBVK7#u#g-5iH;C@Tt5!M{7(Sh6Nz;_>3k@tIGJxV)0&&Q6a&uric z?$M;{qXo;;{MLlNHPUY-90?wcv6dIKcVvh;*U>f}DYpB`b?l7_elC8X55L$u2>6w; z;_a86@W^9t0ZZj|9mZDd{r==&Y{gz0-HgWymRHli+UYlt48EWCy3462Uw7S#iH%r4xQ_a7v-aIP?Y%ntJb_B-LN`$sCcG5uYoPn$H(bky4k200J`@G&u#j79Xe26*kTHF0*N#cPXj9-?BawbSh))+5?+D-b{UYqVA7w zzgM)SvI2USbH3^qmLK%Lx*{R_lw_(hN4h@yW#ITj z`jp*>P_Dj42Kdft$2Z%xRULnPCEiZ@+zZ|{&y}ZVwc%ateS$3^W;VLX;#TYxie7EF z4Y9vXQjE;`xDBzm1@N~~SM>1dSK|Gf#jV8q6XnA3ZPMG&A)kk*SswlcI!WeL$8THg z{hGX`Df@Er)dQNo4sP}A>1&)Dsj~+hUnA9+dQ(roNw0qXNIk#JKw>(BydC4i^yPP+ zkmt8uzdvp3SF&5;uX{*;K)GPO0lt4^zVydCH2EE#RsLPx+i^7d4tK)Y|W^;zN#&*<|<9r_%eyox>^ZR>M*vMT7a(eLv{*XMPi zu}*h=zS-7iu~+H(Ni#0d?AvYcO1$al;=>*K9g)1Q!&pZo=lK0%!{n#sdl$QYCx^y5 z(e=9~1iRez+hY4I@osN>S8RXVXkmwbOOvD8$BX?eO&-!VUcX=M6-q{r3yt?s^3t7$ z9PAfk1Nj}?Vs8X}CwiFC^|32jhB`bSg!j_>X8g?teoHIfviP_0Q%y4d;WzGMFDZF) zB>wth`J(7N=lR~0>}-h*_Oz#{e)C+v6PY8c7M*gd`pKs3aeimFGB$Yo65?RKz7C?@ zK<^mF=WI2$@(?TUgB>j6U2h)pF3@WP8!?)P%gPun@!}=`%UKA@^qq&XC>Z$ z9yyg?zY!%}^H2Gu3P!iyuI4t=?p8c^LYH9KZ zhr>(s8y?H$ZYU*Gr3^W@py7| z7`w}_V_tju8*KXP64N&p#%>|Kp~cOm@ss(kz3=ZZt~X;_Hr?VFzsa|WZ@Ltp6XObF zgy~b0v7d9@T-gA?Ph&3{y+pcg)aTjT;_qDdD4SpKEM&ybdmeD>?W!ZkeVMWAlYOl@ z+l;*za-U+|!iS&HzM~$_+M4;$jnVi8;H&(w(CWyay*-QNy*yvI?*ne+t-P`b?*+=< zn>T1sB$Q#+ROI74gm%hSlmBfR_M7mMvcuztBasK$9Mr~QF zPiFI!6wVr?*WXN?=I#yN<_pc?ewlL|a}FSbay1T=o3S&)Jj5B2H~ z9ckVX*vR#BE|FJYpuYC7q~NAmSPg*=G2eLqnY zUeNi!cpyF(744L(3G`vr&GfFK&zX18+8lcMXyIp`*YkvzN@cnk_I=)-x*Duuc~hYRW6}? zHjy-suF~U!DA$h@ZL5|!v0T!sKl;9KQ?z6eZ<4Cc`wVWf+-%bZ`8nF(Fy1qQ0v70OZOz=~eC=_PVI9 zV%7Bmb@A`#-`pubbu~J%*Hst!RM+9QUO&$}N%A~T8lPXj%^ox1GmM;Qd$i9Wj>)0-1&KVq_@Lb zMZ~=87`{SpB#S31Qk{X3qn*_$#-?xgtLG%~m!|yb#zESPC7J&f^#t|rvDjw8{{M`6 zlle@8KEI{b=jV@Ek%+U}i8`?#+Om_4S=H#A#4!uoRBJ_^%=zma1CMMQv;23+FQ?q# zp3n{8PHS;<6pudp+~_Uthc-4;hWnl!yZ&XuO!pkp1?TsAHze5_n`}FuM}C#S7x0+9 zSHSaoR?9ziO~xSg{i71@EJv>;^OYJ~fU|(IXQY#j9&Rj(jk9B3*vKdA{DeA#AX{Mj ze;%AU_p3EmabHBANT`3?K8pru#ay&leU@Kg7xqq-{hhAzfwhNmnC(YaDt`Ry&AQU! z2>#z}?8z^3@@cJ8Ws%0{G_R~Icd;oe z%iTu2_9P4E$<|Yvv6Ui+PK|Si)rzI~EcM&iLFjqsh^gj`vEjRU_Wj{8N1J!8JX>kB z(e*pg^U~uNQJ3#yq%LoNwB`%>!((e1JBCL`$0m^GpR~unhgJ3E6{Ttn-r$^D5W^3& zX)I~B^ShAx^N&bnJdc2rwRH{PAvm^)|L!2I_(tWV7fp?iN^@d;C=dUu)+shPt4rh6 zq*;i*;CDlK?g`pUyh-yH{OlWQ#!lt^K(CIwNms@1BE!$^dg6!Fn+$gj<%Fu1Y?^c9 zn$Olcjh`J#e%0yYFO&>_JC03?Kize+6+TPEUotsSzt2kO_bb@FMQP5CboxGrJ%%mn z`?#rb*;rby_$#6E2?tqQPK;;s&EV(vrSY?neeuv7%JkL_^p-BX1OMwRK6eMq{F%`Y zIqvDCQMq~JQsdtQ7QZF(>*3(5tMvelyIN0*+V&R^s$HhN&y~hMgKyQAg+a?r#+utek{q~E)O!DjPVbc98neJ_BEBG<^Vr+OCylp(>lfi(uao&7KCtFq=gWTed0+OgcYcIjC|POh7u$wRo}zlNch;nM>2J2_ zs}|aHdIO4dmynM2oOw;0PfWzA?xomsPH*Os?e|jbv39R`?R3in@Aq+bXzaL#`J|Bv z%@GQWy|UQsZDEg71bK>7XU6KmX%Ty{wbx0!cD#7}%wC*fk>4rHeTeq#8W)WpX2yKp zpy#*b@%=JqhiLl-yr6tF=rhUuc=GG}{9xV87vUMNZf}0l5Sf?l)m?pNa=Qswbjm#MbD1=Y?n~*(cg#P^(d(JtDJM6qO8$IDIL_X2; z{XzSQw=FrH@b;myaBwurn&=o8^>?q z?L~#)?FEHa=ZJRC^E)ZtSX&CN9rI3mNpp&K-_s%3N~fSho8cqFLmllCLu+_!abyL1 z3!%A5W8Yu(?UQ4u*Z7Y@2O2xk(<9yQ_t$+|veQ&=3hRIh!(*n#zs;Dc@x-5lym)M9 z8$s=lguQ#GdTuvsU0t-hufZQWig9HGI52&v>~Hpe_+x`_Zw2im@tE5G2Kh|;FEQ`! zC2c>4R6E#KCNDZ=6nrGwYOI(6jK12Dnj8JRl)07c<-)-CZ+hS7@%>uq6ZBE0hhy)a zG-HEu4sqA%tjAv0i~An5KY%v!9>`8P6bnsO>IfpHK+P};CW@u}CXWT<4 zzm?Ae+rws${o;IkRxX`%MLUMaT=Y!howdKEj;`*ky@YSx*q7wa+A)DQi27CZDfI8G zP2gAcrH*=ykA!yB_&Ug+udO)5lckXKU#NcTa;KyzL%PR_r9oqZ=esz|Y;jT3C(5_Z z`~EL5ZOwH5MVLtcNUe7tug*!QL;F#Kqm|Pu4;nPBUu0C_V5d?vU@qx~z`1nzR%~m0 z^_$Ke$2}o74*&fo#hpo9M}G3gBGD^K-Hp&|j%j1Nt(@=VZLWeo@+JDRabc%&JerTT zWt7`}1l8#Ga>j1)4ddY;Kfl`Cu^nFiJo1;*2Ib%1JcIl^U!$Hhzn$=Vl^uU_(Fx-J zp4zx)tcNFSYnibtU3rnGVBX|*zIPAhKIAuwFI4pz{yH@p&%)+3@C<*h>g~logZg9x zt9*Zd_Lao7Vh2br=YV6`8k(PCfUviN^Q+jcQS4DqRy)o;yTW~=?U(Xvy~pp%Cg%P= z+*RHcfxMcV`{~#1N8V-RrL8N=Sv&Oesh-xb?ketupSw5y?g)PGbnF)Hl)3JJ`hDwk zuS_a;n1x;03I=b7diy_`M@#-v+=HO8(9DSsFeG9nLccfEk>N<|Qd~)#nnEQFFCy{3L9>$Tz z2Xx1&cSrBR9kp1g~lTM>Y5NYRLaIbZ~q!xSj^iPh$TE_YQ@_v8TqOv(-NKTQrArN1d>&zVCkgfG?*t{#KjuXEV1JH>|zwW~Wb@N?yf5Mzib(gf)-QjG$#tn^wvVjIs_jS}QoJZ0d&v&>B zTKXaJcW^wRuZzX6tS`p4+Pa2Om&SAR?KSX#o(o%^%Hf-Ig>>Hmz~Wb57kxHH>nXZx zq2oT#5705XH%s``*sAeEeA(0+Jw|&~S0?dGj9(zbZ6VIDgEDO$?YfydVsEOhMWQeF zcTM3OFm)_Hz}YDNbtu1X+w29J+eHRGIK(;5G26pcQD;X1_MQ6o zHt`3;laW;H3h_6%9uG~#kF%&tyOMlo$eH`nv__+ zKR(Q(?30s}zsfJ4I@cp_H7QO>A`Q!K2Ll z!raraP~&GyL2L^B=#5Xu$PfF(OnmAgMxL4fc8u@q#eXqAAwJWK-%WgwpCl_zW2*5L zA49v#%RG3Z;1OXHKVI-w)>)B-F@j(4;3EYu^Weh;FZAF-!54Y(p@Pdic!b~)9-JpQ z#e)wLyftLXA1wF<56%|6%!4xoFZAF6f-mymeuB$9xR2lw9^6}SiU+3(X5CEf4+*}= zgTDgTT08gk&AUf+#Eo>upGhMe)f~oN_8+sR%~`=xcu0HM`>+>%cBtrb&EK9L?HC_X z`#$%6ZTsAhhUc{hx+v5h7q)&6zwQ-D>VDGJEuV9Q`Qy#3+v%PU@sYnSwvcr}?T44F zXH$=K$+romOZ>9$O;YyV!G2YD-LD5a^=oijzf#)z)gIR`peZsxs_^>;ayyqmpx{W7Pr z>7Tu?Y%ELr5*uKpY*_Brzf(43Ep&CFN5q~(52(+V6R$aZ<5>LRW1aX%{9cPcd+kCe zt~i~^6&@}oz7fAaZ<)onD39zM<_*6GUWR^_|91Up+|_E&*}dhb*;pE{gKuSXy-S?z zUh!7A=mgCQs%6+cdFLbdJJ4)qR9)4IbK8_puIPt}TDeDGsejBjb7=ivf zd1GX~Wba^PuYfrl-~2UnfBjs3IPu~r>{Hn*K^w*JHag|wBfWm8?kg!n@rTe4-v>6A zI{derji0Of$QWmr7f)Y%BzHZh*6aRSwa<*<^jp3$lPBmK+j69QV;d5EV>_waf2->} zTet4n(w>nA_@+0y&LG~?(e3ZD7LRr^3p3I6nNEB%|I%X)zfT}Oam?0z&(3fsb~NSa ztR8c)4)5Oj`a)%jClb$Z?6UKB=|9n^PQ0kK2KreMq-|(itO=i+!Gk?lwi`cNf!{A< z_c^gbej7Q3hkj;pzux$>xQ9P9d9%(})Phg#1GpNy+$D{4`gOtwaec`z|8^gR@Lq(_ zr~96Bu#XmbYv7So#$ozBh<+iLGb{0P6cDlpq)T3?u)aUcU zW?Q$<3q$!WUU*HR8L!)U;WtOJ@8giN`Ve;%6hd2veP5f1>xq`Xr>rh%Ip&z8v~2L( zWofyJ-##q|14|!tN6U$%5iKKxqUAjbq2({l?+kYdVVATlbz=9^FVV8UrDb2ya!MGU z?Zf;7pVM``lNAn|^Kaa3WBg7IGXB{S=n&=xD`{UXa()fynI|!~J_H^=L38YNo!4yw9qb~@RR9I6oZVU8p2laN> zzip;{neNr(@$GWoR?_;8S=WiNu2Yi7K6r;Vv$hlS)^`4DbQ(AyDV;6|^kYpA{dkY> zK{`bPbh_E}v3ojI*)-LJo#>R-<2qc|blNzmOF9(<`garcc1Nd5(?0H0>w-?4)tT3} z4kvn54jVKr?SFw*YqOKm>Qmb1%haqM`tk$52Wj<&`ex;2nBX2{D$AzHCJfRllAhB3 zp5%W^hg1(q+TWGb?e{kqxI5ZSgdsq`sKA!H#Zy!(X zUX3P=r;L}SfxbOVo!#~Am!@r*ZXtO(=}YDu>9n;dG;C}-I#P2G^P4qs{r3GX!F?wh zE4s7+))sWx=FC8w7xd8P%Wa!QmoD2}d9Z0?TbsG_^Z!+wV~2Iw=6_PZFEgj~(B|W8 zoB#ZE+8o65{>uLyPGz??MD?ho@~|?{m)suuGLi2_9>zo~+hO<--k7xZDDU23=Br!J#3zJpbbX*-TdA)*S@^4ISEhRjc{=gc z8PQ7F4uwm;rmb*_v$|V)(B@<|-5G&)uk4}Suk+o|gSQSvj|l;KTyOf+y{&MKO*5a+ z(Bo9^J!AH~tnN|9lhI?&IBO&1wbO%jd(mS^pkHcRcl7waX;-EjN=A=D?uHRPPW^w` zM&A81bV$7@j<4LxSZxMFMGfTfF&-5h2v67@bvo6r?kv+8gM7{@QxQ^ex z4DTrFS%#Z!n(c&!XOO%FM>&lJQ&4E>ulfa z%p93}x0xfSG9RuobHFV3Uener_i*(KzfF-s`X`?0%5RfSeA;dJwX2RhJ=Zh8O*xgd4Dg4l@4dtio zZTyrCW=}N!7I3pTG9yhgyx8|AsGPX^_NI5=pL|oh`7ON2CnI0L1^UkX_g@O>`$r1# zyLHfp~&Tu~<++Ux-TGASQp*s-q2{f5?tM+{jPZxPUfIa7=;=gI%zo~Y~kMbw- z`#5T}WeG?4W<4Cu@NlHP0#Wv|J>3&t@Dn8BMyf~}uQILbD^qwz--f)nwu zaJk%stQipc_HFR}hD6`U4WtX=;gJM9T-^m8+I)QMYpJ3P;X?hd@caKQ^*_VCh5k2k z9=*r@5A5glKd@i@2kHy`-xcWhTZLYK=jt2fUq-k;{XBtm!G7MD(9dJkPxN1MADX`o z8Fo*j9QCyk*(kGRuBYD-UpCJ2=>ARmT@Kyf4AR}x6P`TyK9qR_y?(E?<1RFuK)Fp9 z_;=4|xMTDiKid|@V#&iVg#&zIg^Fjt)nN+BcZdl&|3|pLa?nayK3=}ve@eZ#e%mew zy9&X}6yYTeA7(FPfqf>|aXx~*5b`Z*jY2*|$wY7J6>ij)RA7}WISm0DxdCUpsZV;M z8NBHI3ZqZX6V9^TR@Mls&?hZHoF&sC1I_sWe8OYw*#_SC5l-IsWaUG_@Cd_jGWWr4MRTJ_)9bxbt!j{>* zxi=;GI~EU<*2lBnthr=FH2zM)UaEV*bw~O1-mzFg-g4HDo>YjgdR*bKX#Cd-DaZF? zKH4ci`$qDk@ds@B`)&Sv6;j^a3h{;d`R^31nX`1I^L{~kU*|0XR)0F^yg454-v%A` zOXrmy+)3xnr(9p>{XlR)_TL_<-`r`fc<5815E@@;uXy2yfHiNazs+osr z&dxfs+8~)wdS^*#d>M8_S>rd%exVQG)h}(jqe)Hi^|$D;_F5482u7Jt9$7RGti zaVxM-%)~8SX_@1m!Q|Pz)^atCgFzNh0?G;V= zwwv(l^y#l7oy_C9=+n*wI*C5Qb0&KpMZ>$v$6hp}r?f5^LszT)e<$AXwCohAMO2U&a_O?n?+K|OJ?m8s8cx+85{BugWJg`a%Fuft!hhjA}FIQcrbxXSjizpdZH z#b}F*(QUZU8kTUDN;)4GE!4F?xOiK09P;iaeKK4uvbcEC;^Je{`LgytuyFBr!mopi z-+_xm$&(BhiE?K64tgdV2VS5I_1D)O{y6ZE?NcM)ll5u2?bEfkPfwH1*O@M`=v+tm zb^3G@efsoJ z=6B;!jB%OnBj|R~>K5`}r1sHw_WaG{-Zp^@gKa5YF8nlM zYhFot!sYAO+QQ>I*p;$9DSwmpiT#znsqQOCCtMlcYTqvtw7VN3Gs4#H9%uYrdw$?l z?$vm2*0VF+S(M?`o8!)~^?LSqhWiZl$o`&2yzK8235SCl4=-cDLzep;iwC7qTUIfT zZ);CMU|u}Z%!?Z$OGDNc8cTaPE6iC};d895Tm2nv%ks|-FHt+jVgD1qdm?jK>Ma0P zzTqb1%rD{oz9aA@(QnD*`I%+ zJ4D}|d=qW7=N6os^Gl7$Nh9Z%+Tu9F^c-;xcOR~4J*Hk~n7I3PLCsa(If)48B9?|9WfA+)e{9pQO-TO>oBk={b*|@h zc*^u2yG89rmc0Hp9v=IS_FhqEgDu0HEefYR-ZZr8xC(IM{Ft*v@RsoL5NR}4dh@hw zx7Oylm^gTvu{IQ2PG2;)oW(a|7qBOziaEmVR!`kUyz&>)re_zO-;#?Aa&KBgB;h>J zTJ~M%bLJ-nxkx9iLY+ma)4T2g+)v|dkkW-Y8&qQP@nc(u_*morDFz=o?)Qk##omAR z%hpx3)SW`PlKCOTEA19!t+AJRcifx}x`_Cig=O`bW1{gI@m0GoYHm2ATnN5_})NbT;DET!H984Izv&xs-^A6#y>2B|r?zQm?bo7_#XyM7=+LvK- z|7fb4LfMjI@9Z1=xhVYjR^}wj(Fdu>&b8347G4r>4W_S|{5PZ1hG1*zte0TfUwNS+ zAIpy^J@_8D(0RSw%4=GL>+|3f-PyPXKFV9*-4C7@apqN%emv!gUrGp9_2Ldf-qN14 zuXUE+29>9FoJ%{@hH`jJ_ZRtXS%16X-D2)9nP_xP8)`BCU%uy8)r+EE| zoQn$$xoW%CheLx$6%m&g8r+s9!tXDybm~1kgusLIxa$5bebJd4V;|r z_`|Gr-O+32+Y-JB7w7iYo3Gg6c=kYYJp@>TGXs^gslCkd9vHxW{r=I1QU9)r}*2 zvPC<{9rwE*N?DS*DtxgX-gTZg!`%xXXpHpe;>CSNToq@0TW<)NF|wI+yoEaF%UNE3 zY~0RSUX6*Z>%xqUVQ*}_n6dG)_OY=)G)h)RxA{u^F?CVfm@59#n7R_)6_2!l52J%M zey;P*2S0AV?ckeuc!|aFNBph@#~#je-GA^~I2V5Z4lMq8$Ap~oBh;PmiTpFXzw~kY zp3RooCqsv6ocHCvlPR7~7B2rn{yWfZk`w%kv77l_#h59+%I5zaX!$v`=Cc2l`mOj9 z@cIs8=F{BObs=(E)7v{^IGiyvN?M(h_!s3w@qt!na5j_vM&T>r1-co zmE+J^=XjM@baptG7vkF%zBR2|G%5H!!_U{7eDILTH^rmrWJ|Y2)FYbeEw{F^NZ+)s zdQvctY^AX_&wTQT*5@NrL-ue+7<_4c%(1u?9tM-<$Kd^$5t1RDkxWH?I{U4C`O*AB z@^c>fjJ$Y0e0!EV+nnY0WaaSK06Tx3W!oM+%U$8yTb$*tfnL0|iVuUgXh_?~=Mi|X z%;rra&e&bxWm|#g)89jz9nN(7dP#Tg`|vfqEq(;Q=ihRDSz%_=QQI=SSm50@w6npFyg|lp`LWo&qrI~iSgVWnSRMK|?vZk#hQ?Q?L|A-*-` zGp82+{E@L$XOly;L%*Nm`yO<=X%l?&9e(Q`fK2+Q?+@|Yo2z;AYw9p(pGCJS%4GiF zruSptZ(6iuHvF;_+!S#yz%Afwa;VQ0=$BctDVo1(U8ORGGY7xM1(a**q?{=5hsap6 z_TR*}VEgY=`#I0+w|^nuUkI~FJ_L<81Sj{4KLk#r8}N<$9w72U&f|S z?_|xPoct@fdtbUE;+@fIh^!6A>cT^G9&W>`g;}w>H;<|R4Rhh8%R?KVr>t_y+BF3m z;v~D4&YFHR_kQd=Q)`1Mu~nqmy@)drtkX?XJLWP6Jl5GaO*-j1XZ8HExdWSe<>SCN zyf31EA*ScC` zYTz0F?4kI@_)&bF5XzPxg>$9j?cPD}j7wkJzih^+3jD}we<`|1K8mWdoz;1%&KT^? zSy_SaYq9yv_w(&{#=iN;x5fqSb-BjEj{(=9Z#WM!wgz1@fpYtRrz&)u%56jrr-D!B z$}=O}tyM#P!lQnx9dGkZzN6qA(LcYK>^>7SZg3Z*+RvKN%rD8Wdh~9C;S=H*U*pw; z751CMy&7uQ?gO3G+s1ioz*{&2EuYSfN^jFuQO52ANW++}wkb_n>Ozy|eVYdV)~wy& zpss&eOPF_Q{d6OE2Sa7O5ok|c3ip=>(v;aWf3j(Y)2^DIm$lU3Gg}BP%NobWioi`x zHhVIN6aSg`XgD?#zLO1k7kR(OztT9&UG=V$;0o-~w)Bl*Gw)Y?9dpmN_-JY@YRkEi zGA^{`Xs)n_KCP!Mg{&(qS?I*P_Kfq&A-;lf-)qbGn9|nLw^C;(J{?`+yHVG$x z$aC(@fZl?G_w?%i80qE2u|Vq!qHPo%FaMtS>{Q@w7S{bzADFV*b^nJ2i9T@rTjSwx z#*B*W(vmvn*l*DejfcFGH&$bzKQ1NOn&KVj=wRN+#8=w#=JcGmW4*->`*|yK27S$X zi|=a7o85EXNx?P`n0UXRm$xH(tT!6Wn>+Egw!B$A=j~W;@mxP|WmeB^?pSZ}`E7YK zyUiP!g-%Ix#?+##486elY2=kX_Dw?Z+NaD@6~0F(8|#K*&W77GH(>w$9$0#)0zKs0 zN|DM8Q?LJ?Fb@WD?+JM?a^fq1Z@4{F*%jYJ&P`|&JXECoWzqOZLbc^}+orW@6JzcT z*b4XAG&f)m+zo8ngs%0+&Pe4TuT7Ve{&FY&3#I=a@b{ef&wy`uq3bpYH@&cNRd-)P z!~d0eop7r?MlG|$*n%DRR_e|=@63A&ch?zza)-N%-p9Aw2o2uHmpO-b-y`@%uuE5O zL2quwU($qM>hQ77@OeGZ)CPT{xaz-OW(7I62``}h=h z;!~6lu$XU}LysraokV6V4XhEYrO(1?aBow~Y|h)S^K@EbUq1x*>W}!r@9SdQpG$3D zNAS(>>&^DtW%N~e&-%P|)h6ubONQY`fmWYimV(XRnO@SHH9tS4r7qQ3CE7;@l$K0O zjTB$P7`%qDv59uKPIf9=Tb=r?Q#@bC2iJLH+=+}?htrlg`Su=wJ^&AUsZTn%g?Xmv zvywcEZC-ZPS|aqri7Wt zrgN80qOX{}mW!AZ7WAq=nXz8?X|RW%y_04Szqw08bHwex?p@z{k`p&`&mr8wz#LKO z3z?g0u9%KI6|sl^7VJFlEOTmoQvvJL>zvr_v`zG{S{RM*IT*gzIB4xX*>VGspF5cw z@9xb!(%%POI@z-sOGmcdPyIvnm9;m?v*_K&{Eo)IN7&5zw)XuC_H3~Xw?g0Po937+ zsJH2)X#8TukvHhW-Cl4q_xprnCk?av|81U!ln1$bm@w%7F*;szJFEAruq9jI)ku!s zdE-7K!9%KM&K*@&pFg*v;TdxY&nx#qJ;*6eb~ zqcwp2pyvkB^A&q0<5mAmMn`%!tZJv{h7R-`m?nDKv+3>h97g+mdM?~wdRF%mJ-H{K zot|OQB0$f(gm3iQ=Y&2z1^e{erSFzD#|eg>|54ZlJzqb#BR!8YY1uDLn22-TM-!yy zjiO<$N6(uD5A8_Lzfwjrdj63*6U%-=^}+vL(Q`R@bYJWCf(Y{2@t#)Y^Y6Ss-psuM zy7OYqqJtJ7i(S)h?Ey(?_atrcX_o=KU$PkL*NJv_k~c`Zk>+J`_8Uc4=VP9G@`bo!Vu8J$XfI?d@!rw1r2G0#=DZC&ZR%S5OD zw!W**OG=X;&=#L2Z_>a0qREW>PBb}J_za9y!j)v_bmD{h?i7CeI_yq^SJ@gp>${sx zTFyfeCgM~2u1WJHWF-R?e7ek|&-+D}9fx(I z%V)w{fG$5Vzq#v;(3cg#zN~E1cPlI35R9z6r?3lId0}Wrot9_PX1Mu;$>?;wrBi5b zXIXijvJ&$=s&cx~Y4?-o|3s&){YFwcEvJ1xoq7ZB7oB29bfQxYd4qHsYJTH4AoS@Z z*r!vazFRuIFvO$N)r#waPUj}jX_fMz)1D?w#JS`t)2GvSJJV@y5;`4c+t!s%8!I~f zw{_aau}NuiJZqL_R;WHpR!j*K|5aNS6Et}uIPMdA;x_>%tmPyO_ zPne7bzrn9yblTee(`oOjoNi=g;}B?oKO&hgq6S+zaws-_C>qy0tdXm^E0jGk!lV2W z6}@wd%kA1gEq;ka-_iZl?W8&r@ZEkI^c!hzD__cH+cxo><|gtR9f0py-~Pfk&v%^R z7Ta&~e`%h7E`AQ}yWs6bvo6uZTr$y@^kecjvG0a8_f4!%X#Ws*Vsl^O{Am2@`I=8= zx(#jh=eRC#`L(=reXSFJ6nOq;p~?kcY0nAgfB9{FNDW2cqX>NHErX@>InjUM`$H1@ ze3tF=J#BSnxQ^}DX8cC#^X+`|`y5Bt3m^UhDa#XNseYvPEd|Mpe)JJG~#{TCfL_)WlC>#+pS8=7<8QCy3lRI z;cK|Wl=(IS|f0RP|d^%l9pZ9}K>|5w9I&qIcyT9R|!dpP!U2A?b z{uBCi6719IEq%9i8ZH<*y{@neIz0oPf^=e&u%S~HVIs~o23_pasj@Sj)>Bqup8Hh} ze9#r0VxrUjjX~z!^?)CtYnp87o0KNMqAfm6Lcse)lNH8~(19ik$s44Ja3$HPBn*y0 z*QgHbM|eKhr$Ntl^>0kt40k1AB0fcf6ib81j{O^hj-?&l(cmc2fH5d|Cxr0i-;;t5 z$Kbw+dr@>Zq~X!Q-rdCJTZg-e2L^B-!k_A`n;-AD0e|W;`X$`g7=LQuZ7lq$de?F- z-_4yc_HM`m^7?nee8=L(*ZaP{H$05rR({iqZJKWrnmb_zdUr!c_VZr1V1J7kv$)T_ z`#!J8O4?`fn87=JzJ#`P*XJAg9_;f!)Cb$2(Sp&P-Szn}n`R_ou+O7te~0@p|66pf zHvR;w_uA?FBK7-yE(Gqb&nNLc*ynnF`+fc_r{_Mihuh%gBf?~IVr(SVt*>Y7*S=cc zSE_gI3ENy<(qYiz#gi>GBDK zH2i=)K4EN5$~R~9lAX`fx~%pAdG=n|?MMC3psUx+K34k-8??{Rjx|R&PtjUan%0_< z+X~~f*3_$>bwRCjE-sR8>}}SX8uFzZSszMQ{Em?xPn1sJu6OnuGOp`9`@cmW`o4$z zwsa@T-U94nY|kCU%l52Af1Cvjjyv3k{TuM1Geb@mz81chgEx&o-krMH?i4S9RL4qeo<9{af$EF;`p?6;~q4Z40vs?bTty-g>Ih#bfGub<>J+nsd+OpFEWv1A& z!h|~8|K*h_oH{dJLyzbE$c^htnFkXo7&H#^T%5+=3ZlXRJho}c>uNbanhfi z=8Ui9uA}7(qh>w!gDFmoeJruhWtX!4dN*l=SM3#E0&H+e`86roI$yHN4du%9*(`!zaUJbM%6sh#Pxvk?5}XK79oaTgG;HO~1a*ET;=2E{LEE1_KAMpf_~CjtQUdz0!xpr5Ajwt^$k{izW^^` zC;ma0Jp!y5Z(|L4H+|Nbr7fH#(Al3$sPAuIw2sf^j6@xM9(-2R%%#pIUg_?kA72PJ z;UVs&ngo86^55;}M+d0xbhFH&=ZhW%wCjG-$d*i8 zkJ^bo@Z>zj%^=;=VdVURNdY-On6;^ck8Tc2&QrUV^TQ?Q-kt1iats@H;P1FfLAYQUF&xE|;W5Nt~CSh=|X3Oj{bfn(S@%D5`A3W5JK2RUK(g!=hTTmZ} zrk|q^wEvvFI^%PVKFBg{(B6(E^g-#RJ1&y%!@#-dgCXuiS>D(zoR~dh=!I#>Wj1)r zwR#~+`6_2opd76M17C43G>EArrN#m5#*h?LheIXoOFZQ?CB6sH`FBP zhI;sP74=$PSX{=tVsBg9;$Yf!AK#PNEsN1x<@l&-29=h`X2DjSb%$r8aQ?nH7NLI~ zY!G-)cSFDn)X~e>FnN~tVd{Cu_76TXHjF*XmDEPj-2q+OCGGm^pOhJ}OBQ!wmn^nE zj0Wq&XfQsEfL$^dA7H>P@!neY?UEUNVwdxMdV*cDp1LK!iFU~!iT8EZXyESblHc;( z(^>6y$&rMC3j)tR6wJ^es%BMzrSBS zHXvqbytdfvSHJsz%IcdgPN_eKa-`#AD`@|j?jYEPE|Lw`E?3;E&6um-&Z$xEbjWgt z^Ih`v7xb<#Z-W_!bvMXl%It$|7&(ZJiCs!s>D@Bo6ZNk8Cc21z*@WGli|cA1a}#^i z4<)ZRhI8)#u;`-p<_&jB6lQamQ&zgh)GT*MTiR?FrEmI~%^9(be)^u_4zl^BlluZ| zEHG{cV|~@%7b0;qRDH=f5F%lYY2V2B4WO0y1zAH z_jbi8q)BF1?9FH|k2_@zuW%L%`Aq)CoBH}w%1SDm)~1NVw?@9KO|g{pPg~iHAe-sP zW__Y;f^){J*jRMB$!l!sEcbTuZbmk1;1k*S@=b^rjjXQF9Vl7ukJ0~d?N*1*~dj`5h=j@sLn7Q7zDc*is{E`Njd(E6L$328{ zj1FLKHyl{@#`}Goc~!jG`u???o#Z?Taq(?N*JYsVvfMmq<=HjNDaoU~z_M}roBX-% z`DspZ1%8W@8H4;Ye&x%wZugv2?X@}EeU|UyEpwiqwh!gEXjaaC=bgUo6g|+`PT#k- z(@N6(jDP7My_Kjje+=c}(8qQU8P)T@5Zracq+5Bk))vqycO*_o^b=v`+0-Ui+lA{X=V zqjmLt8Q;GrKifLph1Cb%I)FJ~U*>?^gLPg1`hAP^ep(v5q<1;n?;IXO+r05S(>)Sc z{Ii;QLs?A&DIXRO#8KdUF2dHEjB`^x_&diSFZ{unBq zoNn8vLg0X@BNmvUmWEUT$ING<>gqd!W2{q21298e!*WU!^ry$R~#kS6y z$2X4EI!cavC24=d9X3t=Jl@tblz6}VTwC5?!tU&0$xJGd?P-(*4C8z57yzITW;P?pE(%$79O4?jfeMW{4rqVSNSz5SuW?~ zDD~=S>>XQa>sU;h63X<~3-Z}#kjZ?1FES|I^b@|nLRyVK8h5Mt{Sv=* z2ZiovXddYlt*3m4Ira6dN5|y<5+2Xt zyYQIktC&W-`2R!`=D1T$nB|t4Fw>2iFvBe%?9P_==vESw-|lJJzkWnVf8IZd@5xtJ zNFBaSU8p@Q#wXv=rY<7h&V9}K57zI!^B)~;>J4V@i%u})2Z9n z2fnYaA90cc`Qzse6rQ^F)qTnLM4Nht@*wm7F?l_k`e?z})E^Q0HuX63J=6Wrgx%ZJ z^GTD;rXCR}FVB{fPnhgXwEFoJ-;&zX_$qZD?g`cw+d})rm#>k&m^+rL;784K>k@5g zbn8}RaW*n2oNYl4m2VCC=3C#M{CcwcK0sbSoZ`vs0g_qdw4QWke8ARw1XyLLt}Jlw z%O$#ZmdaepciBo2$sT8pWlKx;WMhSxKaW7}be?!E>8kL3sho@8o3h5EW2d8sBoBA+ zO}2*@UlLnEd5XV{c-hX0a&kTKS|3PekN=QwYS%R;%y7>o4Ep(e|6Wi0UqQbAef}Sm zl>bkr?nM4Sl{laOR}4@eyXOB%q)p`iF~o`gM=K0_{J%iu!2hF&^ZEY=rtD1jP?N5E z{(qXZ$@u>w;{EbwoAR)S3A^I|&-m6I|Nq3F6I%Z7N89#jKG_5RKZx!N@_#G!6nDe_ znj?$+t4%jl_4w_pA9PzJJDq8ScG=Ux)9-Z*^h4l{=~4=;?sI-wwaD zj!dl|h1^CtAEx(ljjm_U)*sRNSMYAnM^AcdGe(~eMyI0hO?s>E`(R5-9N9s-gMzgIF4B+ng z^BsLRdjfpFUY5IoxF*X_g9XE%ed`re-*AZ`YVgf&l?}V#leCG_fe%OW_&6`7yh=`F*2wlIF;7m&T7Jek=7jrRBr6A&>9S)+OkX3Ur*mR$y#rs{5PL9E<&-P{54p@kThRZ)lkSYt*>Dd}6D*#zrjlBpN_}P? zc}|*{%L-3hsaxwQY4q)B@Xp+_{a濋}H|yh?FRDF~VGq~Y?ztA%+Z7(p{9hqu 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 z�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 WQ`XG872Zyx|9?7f>%KZTIQS1;jt8^= diff --git a/Source/FramePublish.swift b/Source/FramePublish.swift index 1491440e..ab637d0b 100644 --- a/Source/FramePublish.swift +++ b/Source/FramePublish.swift @@ -200,9 +200,7 @@ extension FramePublish: InitialWithBytes { }else{ // MQTT 3.1.1 - if let data = NSString(bytes: [UInt8](bytes[2...(pos-1)]), length: Int(len), encoding: String.Encoding.utf8.rawValue) { - topic = data as String - } + topic = NSString(bytes: [UInt8](bytes[2...(pos-1)]), length: Int(len), encoding: String.Encoding.utf8.rawValue)! as String } // payload diff --git a/Starscream.framework/Headers/Starscream-Swift.h b/Starscream.framework/Headers/Starscream-Swift.h deleted file mode 100644 index cedb824d..00000000 --- a/Starscream.framework/Headers/Starscream-Swift.h +++ /dev/null @@ -1,336 +0,0 @@ -#if 0 -#elif defined(__arm64__) && __arm64__ -// Generated by Apple Swift version 5.10 (swiftlang-5.10.0.13 clang-1500.3.9.4) -#ifndef STARSCREAM_SWIFT_H -#define STARSCREAM_SWIFT_H -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wgcc-compat" - -#if !defined(__has_include) -# define __has_include(x) 0 -#endif -#if !defined(__has_attribute) -# define __has_attribute(x) 0 -#endif -#if !defined(__has_feature) -# define __has_feature(x) 0 -#endif -#if !defined(__has_warning) -# define __has_warning(x) 0 -#endif - -#if __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#if defined(__OBJC__) -#include -#endif -#if defined(__cplusplus) -#include -#include -#include -#include -#include -#include -#include -#else -#include -#include -#include -#include -#endif -#if defined(__cplusplus) -#if defined(__arm64e__) && __has_include() -# include -#else -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wreserved-macro-identifier" -# ifndef __ptrauth_swift_value_witness_function_pointer -# define __ptrauth_swift_value_witness_function_pointer(x) -# endif -# ifndef __ptrauth_swift_class_method_pointer -# define __ptrauth_swift_class_method_pointer(x) -# endif -#pragma clang diagnostic pop -#endif -#endif - -#if !defined(SWIFT_TYPEDEFS) -# define SWIFT_TYPEDEFS 1 -# if __has_include() -# include -# elif !defined(__cplusplus) -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -# endif -typedef float swift_float2 __attribute__((__ext_vector_type__(2))); -typedef float swift_float3 __attribute__((__ext_vector_type__(3))); -typedef float swift_float4 __attribute__((__ext_vector_type__(4))); -typedef double swift_double2 __attribute__((__ext_vector_type__(2))); -typedef double swift_double3 __attribute__((__ext_vector_type__(3))); -typedef double swift_double4 __attribute__((__ext_vector_type__(4))); -typedef int swift_int2 __attribute__((__ext_vector_type__(2))); -typedef int swift_int3 __attribute__((__ext_vector_type__(3))); -typedef int swift_int4 __attribute__((__ext_vector_type__(4))); -typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); -typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); -typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); -#endif - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif -#if !defined(SWIFT_CLASS_PROPERTY) -# if __has_feature(objc_class_property) -# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ -# else -# define SWIFT_CLASS_PROPERTY(...) -# endif -#endif -#if !defined(SWIFT_RUNTIME_NAME) -# if __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -# else -# define SWIFT_RUNTIME_NAME(X) -# endif -#endif -#if !defined(SWIFT_COMPILE_NAME) -# if __has_attribute(swift_name) -# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) -# else -# define SWIFT_COMPILE_NAME(X) -# endif -#endif -#if !defined(SWIFT_METHOD_FAMILY) -# if __has_attribute(objc_method_family) -# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) -# else -# define SWIFT_METHOD_FAMILY(X) -# endif -#endif -#if !defined(SWIFT_NOESCAPE) -# if __has_attribute(noescape) -# define SWIFT_NOESCAPE __attribute__((noescape)) -# else -# define SWIFT_NOESCAPE -# endif -#endif -#if !defined(SWIFT_RELEASES_ARGUMENT) -# if __has_attribute(ns_consumed) -# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) -# else -# define SWIFT_RELEASES_ARGUMENT -# endif -#endif -#if !defined(SWIFT_WARN_UNUSED_RESULT) -# if __has_attribute(warn_unused_result) -# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -# else -# define SWIFT_WARN_UNUSED_RESULT -# endif -#endif -#if !defined(SWIFT_NORETURN) -# if __has_attribute(noreturn) -# define SWIFT_NORETURN __attribute__((noreturn)) -# else -# define SWIFT_NORETURN -# endif -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif -#if !defined(SWIFT_RESILIENT_CLASS) -# if __has_attribute(objc_class_stub) -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) -# else -# define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) -# define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) -# endif -#endif -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM_ATTR) -# if __has_attribute(enum_extensibility) -# define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) -# else -# define SWIFT_ENUM_ATTR(_extensibility) -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# if __has_feature(generalized_swift_name) -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type -# else -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) -# endif -#endif -#if !defined(SWIFT_UNAVAILABLE) -# define SWIFT_UNAVAILABLE __attribute__((unavailable)) -#endif -#if !defined(SWIFT_UNAVAILABLE_MSG) -# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) -#endif -#if !defined(SWIFT_AVAILABILITY) -# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) -#endif -#if !defined(SWIFT_WEAK_IMPORT) -# define SWIFT_WEAK_IMPORT __attribute__((weak_import)) -#endif -#if !defined(SWIFT_DEPRECATED) -# define SWIFT_DEPRECATED __attribute__((deprecated)) -#endif -#if !defined(SWIFT_DEPRECATED_MSG) -# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) -#endif -#if !defined(SWIFT_DEPRECATED_OBJC) -# if __has_feature(attribute_diagnose_if_objc) -# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) -# else -# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) -# endif -#endif -#if defined(__OBJC__) -#if !defined(IBSegueAction) -# define IBSegueAction -#endif -#endif -#if !defined(SWIFT_EXTERN) -# if defined(__cplusplus) -# define SWIFT_EXTERN extern "C" -# else -# define SWIFT_EXTERN extern -# endif -#endif -#if !defined(SWIFT_CALL) -# define SWIFT_CALL __attribute__((swiftcall)) -#endif -#if !defined(SWIFT_INDIRECT_RESULT) -# define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) -#endif -#if !defined(SWIFT_CONTEXT) -# define SWIFT_CONTEXT __attribute__((swift_context)) -#endif -#if !defined(SWIFT_ERROR_RESULT) -# define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) -#endif -#if defined(__cplusplus) -# define SWIFT_NOEXCEPT noexcept -#else -# define SWIFT_NOEXCEPT -#endif -#if !defined(SWIFT_C_INLINE_THUNK) -# if __has_attribute(always_inline) -# if __has_attribute(nodebug) -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) -# else -# define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) -# endif -# else -# define SWIFT_C_INLINE_THUNK inline -# endif -#endif -#if defined(_WIN32) -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) -#endif -#else -#if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) -# define SWIFT_IMPORT_STDLIB_SYMBOL -#endif -#endif -#if defined(__OBJC__) -#if __has_feature(objc_modules) -#if __has_warning("-Watimport-in-framework-header") -#pragma clang diagnostic ignored "-Watimport-in-framework-header" -#endif -@import Foundation; -@import ObjectiveC; -#endif - -#endif -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" -#if __has_warning("-Wpragma-clang-attribute") -# pragma clang diagnostic ignored "-Wpragma-clang-attribute" -#endif -#pragma clang diagnostic ignored "-Wunknown-pragmas" -#pragma clang diagnostic ignored "-Wnullability" -#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" - -#if __has_attribute(external_source_symbol) -# pragma push_macro("any") -# undef any -# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Starscream",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) -# pragma pop_macro("any") -#endif - -#if defined(__OBJC__) -@class NSStream; - -SWIFT_CLASS("_TtC10Starscream19FoundationTransport") -@interface FoundationTransport : NSObject -- (void)stream:(NSStream * _Nonnull)aStream handleEvent:(NSStreamEvent)eventCode; -- (nonnull instancetype)init SWIFT_UNAVAILABLE; -+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); -@end - -@class NSURLSession; -@class NSURLSessionWebSocketTask; -@class NSString; -@class NSData; -@class NSURLSessionTask; - -SWIFT_CLASS("_TtC10Starscream12NativeEngine") SWIFT_AVAILABILITY(tvos,introduced=13.0) SWIFT_AVAILABILITY(watchos,introduced=6.0) SWIFT_AVAILABILITY(ios,introduced=13.0) SWIFT_AVAILABILITY(macos,introduced=10.15) -@interface NativeEngine : NSObject -- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didOpenWithProtocol:(NSString * _Nullable)protocol; -- (void)URLSession:(NSURLSession * _Nonnull)session webSocketTask:(NSURLSessionWebSocketTask * _Nonnull)webSocketTask didCloseWithCode:(NSURLSessionWebSocketCloseCode)closeCode reason:(NSData * _Nullable)reason; -- (void)URLSession:(NSURLSession * _Nonnull)session task:(NSURLSessionTask * _Nonnull)task didCompleteWithError:(NSError * _Nullable)error; -- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; -@end - -#endif -#if __has_attribute(external_source_symbol) -# pragma clang attribute pop -#endif -#if defined(__cplusplus) -#endif -#pragma clang diagnostic pop -#endif - -#else -#error unsupported Swift architecture -#endif diff --git a/Starscream.framework/Headers/Starscream.h b/Starscream.framework/Headers/Starscream.h deleted file mode 100644 index c2a6f605..00000000 --- a/Starscream.framework/Headers/Starscream.h +++ /dev/null @@ -1,31 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////////// -// -// Starscream.h -// Starscream -// -// Created by Austin Cherry on 9/25/14. -// Copyright © 2014 Vluxe. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -////////////////////////////////////////////////////////////////////////////////////////////////// - -#import - -//! Project version number for Starscream. -FOUNDATION_EXPORT double StarscreamVersionNumber; - -//! Project version string for Starscream. -FOUNDATION_EXPORT const unsigned char StarscreamVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import diff --git a/Starscream.framework/Info.plist b/Starscream.framework/Info.plist deleted file mode 100644 index bbf1c8edc8623d3cee6b601cab2a3b79656dcd5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 787 zcmY+B%Wl&^6ox&+r3DI^G;JZhKuOEB)YwUyiWQ=9gQ6-l#7>h|QLTwHNk)t>_!2c6 zq;8NK;3>3C!l4|3CjX8l7ocj5@9$d`B|?o;!cx;@J45 z%U33@UW=jlWMXQ1=K77~>|Anw;pVN|sioyROLy? zyT3zh$L|`^^aa-a8xoN$W9=305T$SV?rh}BUDI|$Qg&@>bW{}oJER>0yPo|Y;8~WB zkXD&tw{6y-6XG+!-N$ZL<ki*;J=n!y*p6jhW8 zIBZ#r@P0Q~fWtG^(|L_yqr;1;u#*-y)1pwPR)Cp~BChkU!#TJJQ*Z^Y!V27lP1u1h?88I&7QTZ=@ICy%4Gsju$~_KiSm4J$ D6ZG+) diff --git a/Starscream.framework/Modules/Starscream.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo b/Starscream.framework/Modules/Starscream.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo deleted file mode 100644 index b15da27246d03b8fb91fb8df8b4fa3794ddba6ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55364 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

@$C6dBZ1A5sixeyZZ)l~n~Zz%?KfII0M2Tl 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 diff --git a/Starscream.framework/Modules/module.modulemap b/Starscream.framework/Modules/module.modulemap deleted file mode 100644 index 9c6e305f..00000000 --- a/Starscream.framework/Modules/module.modulemap +++ /dev/null @@ -1,11 +0,0 @@ -framework module Starscream { - umbrella header "Starscream.h" - export * - - module * { export * } -} - -module Starscream.Swift { - header "Starscream-Swift.h" - requires objc -} diff --git a/Starscream.framework/PrivacyInfo.xcprivacy b/Starscream.framework/PrivacyInfo.xcprivacy deleted file mode 100644 index 2009fb7a..00000000 --- a/Starscream.framework/PrivacyInfo.xcprivacy +++ /dev/null @@ -1,14 +0,0 @@ - - - - - NSPrivacyTracking - - NSPrivacyTrackingDomains - - NSPrivacyCollectedDataTypes - - NSPrivacyAccessedAPITypes - - - diff --git a/Starscream.framework/Starscream b/Starscream.framework/Starscream deleted file mode 100755 index a109d6f05d237783ec985eb9f1868a2a13139ddf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 732784 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

_t6N%r>SyV;AdZZ3HB|ZPU2z5 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%0A8-7!wxVdBZyL==%s)#YlYTs6q zwYA0NBRVtejZ4|b9pkqB#wS1UUBPIH@$olnS;1uEmzujf%o;T5l``PZ{iuU;yR373 zGh<3W7oYBrt-ZES<8pZ7hC#%ly78BcUGMsP2Wzh9E7fgo)MU5k;*VR#dQ%IZRo%W^ zYi9mLuA9HjjwULW1 z*FYSFWj%C=a%9V|I@bz5+XaL5MThK{dwQ*({XFrlTF#BDz52_~DqwBdWmP9cHnCQ$ z{{f-U$UNh`J6kA9sa8_;@cx`9D1q4=d$h5 zYM=4=)Sp!)x%VyTsRH~q6DM7KC+hTVgK+2d?L^9y=`IcRO=IEp4IV?^Hf&-}ss3#8 zfk$_}GvmD>UT3WTuwyp&1DN)D?K^eH_dWM(_T9_(Rek?Rdi3WV-TE%PxwP30)-ZQ9 z)&MK?vcW?ClwQmK53TT|qyAf>wXu#I*c6xF{Lgjrn>@tUP(9uL)BgX%-n+m@Rh)n0 zGiNu+CIko&1QBJqX+XdL0RkdyEme7D6^`Hjp4fuxO*8O%N543R+Z% zNGYNP>m?|)5m6B+qEbbrHe9rzK!XDN|2{Kwb|*_f?63X5zxVy*d~!11nR({+%rnni z&n&scp7pm09Y;}rlmP#i&~DD)ybA5L(YcMM`ec>ToVgEVat`dYH<&lWm)PMoHXAaM zS&r`o%=O|klipfK@rTCkPl^4|oC88fYznUNTw8a#GukuWt1)J%W_1IeGOU&N;Jgo| zxfp3mo{2rQdOX{X`55BGUS9q2+T!LIdssNu@bOzbcUkaFA**~HZd5-1P*&>qv-O|C zj(&1m9?DyLGb=rX^wHm9{?n?eBih$`_*0*Ru}9`CV2snY(S10FFb{K^_I^0`gFGOA zSgV)cUn5<~bHp3!7MiEW5s#jymtm(orClOVR4y}5X=WZ&o>EQw|1eKA{lO3LA<2Qg z8^p=N>IUd}d=PGzBA3;FslQdp&daDPR7q(97j z*f2i_4ecLQbUaRJ+N%0DoTg|)BG!(oGGB{vCHiHY8^Ru5 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

!Nzd=rVd~x1yN4k-4Gt-TM-){I( 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

u1qeyHPJIq?ghkk5O8C3p`T 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 From 178329a80d53f38f2ebe6cda4898b917109c0172 Mon Sep 17 00:00:00 2001 From: Sharath Kumar Vatti Date: Thu, 28 Nov 2024 15:07:44 +0530 Subject: [PATCH 3/3] Fixed Frame Publish crash --- Source/FramePublish.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/FramePublish.swift b/Source/FramePublish.swift index ab637d0b..1491440e 100644 --- a/Source/FramePublish.swift +++ b/Source/FramePublish.swift @@ -200,7 +200,9 @@ extension FramePublish: InitialWithBytes { }else{ // MQTT 3.1.1 - topic = NSString(bytes: [UInt8](bytes[2...(pos-1)]), length: Int(len), encoding: String.Encoding.utf8.rawValue)! as String + if let data = NSString(bytes: [UInt8](bytes[2...(pos-1)]), length: Int(len), encoding: String.Encoding.utf8.rawValue) { + topic = data as String + } } // payload