From 9d81a6cbaf0ebfd45a4b47917706f82510d0fc11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=AA=E8=84=96=E5=AD=90?= Date: Fri, 20 Oct 2023 14:48:14 +0800 Subject: [PATCH] init --- .../CocoaAsyncSocket | Bin 0 -> 1571328 bytes .../Headers/AsyncSocket.h | 657 +++++++++ .../Headers/AsyncUdpSocket.h | 368 ++++++ .../Headers/CocoaAsyncSocket.h | 20 + .../Headers/GCDAsyncSocket.h | 1177 +++++++++++++++++ .../Headers/GCDAsyncUdpSocket.h | 1007 ++++++++++++++ .../CocoaAsyncSocket.framework/Info.plist | Bin 0 -> 776 bytes .../Modules/module.modulemap | 6 + .../_CodeSignature/CodeResources | 201 +++ 9 files changed, 3436 insertions(+) create mode 100644 ios/Framework/CocoaAsyncSocket.framework/CocoaAsyncSocket create mode 100644 ios/Framework/CocoaAsyncSocket.framework/Headers/AsyncSocket.h create mode 100644 ios/Framework/CocoaAsyncSocket.framework/Headers/AsyncUdpSocket.h create mode 100644 ios/Framework/CocoaAsyncSocket.framework/Headers/CocoaAsyncSocket.h create mode 100644 ios/Framework/CocoaAsyncSocket.framework/Headers/GCDAsyncSocket.h create mode 100644 ios/Framework/CocoaAsyncSocket.framework/Headers/GCDAsyncUdpSocket.h create mode 100644 ios/Framework/CocoaAsyncSocket.framework/Info.plist create mode 100644 ios/Framework/CocoaAsyncSocket.framework/Modules/module.modulemap create mode 100644 ios/Framework/CocoaAsyncSocket.framework/_CodeSignature/CodeResources diff --git a/ios/Framework/CocoaAsyncSocket.framework/CocoaAsyncSocket b/ios/Framework/CocoaAsyncSocket.framework/CocoaAsyncSocket new file mode 100644 index 0000000000000000000000000000000000000000..31e3d7bf9adb764436cf0a31b01a99196387c0b1 GIT binary patch literal 1571328 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%0DeG3#L-O(*&ZPQ}wt9jyB* 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§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 -8f^9ei!Xr9NH}Wd#;SuTLHSJ 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 z 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%0Ae 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 AwEzGB literal 0 HcmV?d00001 diff --git a/ios/Framework/CocoaAsyncSocket.framework/Headers/AsyncSocket.h b/ios/Framework/CocoaAsyncSocket.framework/Headers/AsyncSocket.h new file mode 100644 index 0000000..335166b --- /dev/null +++ b/ios/Framework/CocoaAsyncSocket.framework/Headers/AsyncSocket.h @@ -0,0 +1,657 @@ +// +// AsyncSocket.h +// +// This class is in the public domain. +// Originally created by Dustin Voss on Wed Jan 29 2003. +// Updated and maintained by Deusty Designs and the Mac development community. +// +// http://code.google.com/p/cocoaasyncsocket/ +// + +#import + +@class AsyncSocket; +@class AsyncReadPacket; +@class AsyncWritePacket; + +extern NSString *const AsyncSocketException; +extern NSString *const AsyncSocketErrorDomain; + +typedef NS_ENUM(NSInteger, AsyncSocketError) { + AsyncSocketCFSocketError = kCFSocketError, // From CFSocketError enum. + AsyncSocketNoError = 0, // Never used. + AsyncSocketCanceledError, // onSocketWillConnect: returned NO. + AsyncSocketConnectTimeoutError, + AsyncSocketReadMaxedOutError, // Reached set maxLength without completing + AsyncSocketReadTimeoutError, + AsyncSocketWriteTimeoutError +}; + +@protocol AsyncSocketDelegate +@optional + +/** + * In the event of an error, the socket is closed. + * You may call "unreadData" during this call-back to get the last bit of data off the socket. + * When connecting, this delegate method may be called + * before"onSocket:didAcceptNewSocket:" or "onSocket:didConnectToHost:". +**/ +- (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err; + +/** + * Called when a socket disconnects with or without error. If you want to release a socket after it disconnects, + * do so here. It is not safe to do that during "onSocket:willDisconnectWithError:". + * + * If you call the disconnect method, and the socket wasn't already disconnected, + * this delegate method will be called before the disconnect method returns. +**/ +- (void)onSocketDidDisconnect:(AsyncSocket *)sock; + +/** + * Called when a socket accepts a connection. Another socket is spawned to handle it. The new socket will have + * the same delegate and will call "onSocket:didConnectToHost:port:". +**/ +- (void)onSocket:(AsyncSocket *)sock didAcceptNewSocket:(AsyncSocket *)newSocket; + +/** + * Called when a new socket is spawned to handle a connection. This method should return the run-loop of the + * thread on which the new socket and its delegate should operate. If omitted, [NSRunLoop currentRunLoop] is used. +**/ +- (NSRunLoop *)onSocket:(AsyncSocket *)sock wantsRunLoopForNewSocket:(AsyncSocket *)newSocket; + +/** + * Called when a socket is about to connect. This method should return YES to continue, or NO to abort. + * If aborted, will result in AsyncSocketCanceledError. + * + * If the connectToHost:onPort:error: method was called, the delegate will be able to access and configure the + * CFReadStream and CFWriteStream as desired prior to connection. + * + * If the connectToAddress:error: method was called, the delegate will be able to access and configure the + * CFSocket and CFSocketNativeHandle (BSD socket) as desired prior to connection. You will be able to access and + * configure the CFReadStream and CFWriteStream in the onSocket:didConnectToHost:port: method. +**/ +- (BOOL)onSocketWillConnect:(AsyncSocket *)sock; + +/** + * 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)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port; + +/** + * Called when a socket has completed reading the requested data into memory. + * Not called if there is an error. +**/ +- (void)onSocket:(AsyncSocket *)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 to for things such as updating progress bars. +**/ +- (void)onSocket:(AsyncSocket *)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)onSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag; + +/** + * Called when a socket has written some data, but has not yet completed the entire write. + * It may be used to for things such as updating progress bars. +**/ +- (void)onSocket:(AsyncSocket *)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)onSocket:(AsyncSocket *)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)onSocket:(AsyncSocket *)sock + shouldTimeoutWriteWithTag:(long)tag + elapsed:(NSTimeInterval)elapsed + bytesDone:(NSUInteger)length; + +/** + * 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 onSocket:willDisconnectWithError: delegate method will be called with the specific SSL error code. +**/ +- (void)onSocketDidSecure:(AsyncSocket *)sock; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@interface AsyncSocket : NSObject +{ + CFSocketNativeHandle theNativeSocket4; + CFSocketNativeHandle theNativeSocket6; + + CFSocketRef theSocket4; // IPv4 accept or connect socket + CFSocketRef theSocket6; // IPv6 accept or connect socket + + CFReadStreamRef theReadStream; + CFWriteStreamRef theWriteStream; + + CFRunLoopSourceRef theSource4; // For theSocket4 + CFRunLoopSourceRef theSource6; // For theSocket6 + CFRunLoopRef theRunLoop; + CFSocketContext theContext; + NSArray *theRunLoopModes; + + NSTimer *theConnectTimer; + + NSMutableArray *theReadQueue; + AsyncReadPacket *theCurrentRead; + NSTimer *theReadTimer; + NSMutableData *partialReadBuffer; + + NSMutableArray *theWriteQueue; + AsyncWritePacket *theCurrentWrite; + NSTimer *theWriteTimer; + + id theDelegate; + UInt16 theFlags; + + long theUserData; +} + +- (id)init; +- (id)initWithDelegate:(id)delegate; +- (id)initWithDelegate:(id)delegate userData:(long)userData; + +/* String representation is long but has no "\n". */ +- (NSString *)description; + +/** + * Use "canSafelySetDelegate" to see if there is any pending business (reads and writes) with the current delegate + * before changing it. It is, of course, safe to change the delegate before connecting or accepting connections. +**/ +- (id)delegate; +- (BOOL)canSafelySetDelegate; +- (void)setDelegate:(id)delegate; + +/* User data can be a long, or an id or void * cast to a long. */ +- (long)userData; +- (void)setUserData:(long)userData; + +/* Don't use these to read or write. And don't close them either! */ +- (CFSocketRef)getCFSocket; +- (CFReadStreamRef)getCFReadStream; +- (CFWriteStreamRef)getCFWriteStream; + +// Once one of the accept or connect methods are called, the AsyncSocket instance is locked in +// and the other accept/connect methods can't be called without disconnecting the socket first. +// If the attempt fails or times out, these methods either return NO or +// call "onSocket:willDisconnectWithError:" and "onSockedDidDisconnect:". + +// When an incoming connection is accepted, AsyncSocket invokes several delegate methods. +// These methods are (in chronological order): +// 1. onSocket:didAcceptNewSocket: +// 2. onSocket:wantsRunLoopForNewSocket: +// 3. onSocketWillConnect: +// +// Your server code will need to retain the accepted socket (if you want to accept it). +// The best place to do this is probably in the onSocket:didAcceptNewSocket: method. +// +// After the read and write streams have been setup for the newly accepted socket, +// the onSocket:didConnectToHost:port: method will be called on the proper run loop. +// +// Multithreading Note: If you're going to be moving the newly accepted socket to another run +// loop by implementing onSocket:wantsRunLoopForNewSocket:, then you should wait until the +// onSocket:didConnectToHost:port: method before calling read, write, or startTLS methods. +// Otherwise read/write events are scheduled on the incorrect runloop, and chaos may ensue. + +/** + * Tells the socket to begin listening and accepting connections on the given port. + * When a connection comes in, the AsyncSocket instance will call the various delegate methods (see above). + * The socket will listen on all available interfaces (e.g. wifi, ethernet, etc) +**/ +- (BOOL)acceptOnPort:(UInt16)port error:(NSError **)errPtr; + +/** + * This method is the same as acceptOnPort:error: with the additional option + * of specifying which interface to listen on. So, for example, if you were writing code for a server that + * has multiple IP addresses, you could specify which address you wanted to listen on. Or you could use it + * to specify that the socket should only accept connections over ethernet, and not other interfaces such as wifi. + * You may also use the special strings "localhost" or "loopback" to specify that + * the socket only accept connections from the local machine. + * + * To accept connections on any interface pass nil, or simply use the acceptOnPort:error: method. +**/ +- (BOOL)acceptOnInterface:(NSString *)interface port:(UInt16)port error:(NSError **)errPtr; + +/** + * Connects to the given host and port. + * The host may be a domain name (e.g. "deusty.com") or an IP address string (e.g. "192.168.0.2") +**/ +- (BOOL)connectToHost:(NSString *)hostname onPort:(UInt16)port error:(NSError **)errPtr; + +/** + * This method is the same as connectToHost:onPort:error: with an additional timeout option. + * To not time out use a negative time interval, or simply use the connectToHost:onPort:error: method. +**/ +- (BOOL)connectToHost:(NSString *)hostname + onPort:(UInt16)port + 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]; +**/ +- (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; + +- (BOOL)connectToAddress:(NSData *)remoteAddr + viaInterfaceAddress:(NSData *)interfaceAddr + withTimeout:(NSTimeInterval)timeout + error:(NSError **)errPtr; + +/** + * Disconnects immediately. Any pending reads or writes are dropped. + * If the socket is not already disconnected, the onSocketDidDisconnect delegate method + * will be called immediately, before this method returns. + * + * Please note the recommended way of releasing an AsyncSocket instance (e.g. in a dealloc method) + * [asyncSocket setDelegate:nil]; + * [asyncSocket disconnect]; + * [asyncSocket release]; +**/ +- (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; + +/* Returns YES if the socket and streams are open, connected, and ready for reading and writing. */ +- (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. +**/ +- (NSString *)connectedHost; +- (UInt16)connectedPort; + +- (NSString *)localHost; +- (UInt16)localPort; + +/** + * Returns the local or remote address to which this socket is connected, + * specified as a sockaddr structure wrapped in a NSData object. + * + * See also the connectedHost, connectedPort, localHost and localPort methods. +**/ +- (NSData *)connectedAddress; +- (NSData *)localAddress; + +/** + * Returns whether the socket is IPv4 or IPv6. + * An accepting socket may be both. +**/ +- (BOOL)isIPv4; +- (BOOL)isIPv6; + +// The readData and writeData methods won't block (they are asynchronous). +// +// When a read is complete the onSocket:didReadData:withTag: delegate method is called. +// When a write is complete the onSocket:didWriteDataWithTag: delegate method is called. +// +// 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 "onSocket:shouldTimeout..." delegate method +// is called to optionally allow you to extend the timeout. +// Upon a timeout, the "onSocket:willDisconnectWithError:" method is called, followed by "onSocketDidDisconnect". +// +// 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 if 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 AsyncSocket is using it. + * After completion, the data returned in onSocket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer. +**/ +- (void)readDataWithTimeout:(NSTimeInterval)timeout + buffer:(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 if 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 AsyncSocket is using it. + * After completion, the data returned in onSocket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer. +**/ +- (void)readDataWithTimeout:(NSTimeInterval)timeout + buffer:(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 if 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 onSocket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer. +**/ +- (void)readDataToLength:(NSUInteger)length + withTimeout:(NSTimeInterval)timeout + buffer:(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, 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. + * Note that this method is not character-set aware, so if a separator can occur naturally as part of the encoding for + * a character, the read will prematurely end. +**/ +- (void)readDataToData:(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 if 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, 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 onSocket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer. + * + * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. + * Note that this method is not character-set aware, so if a separator can occur naturally as part of the encoding for + * a character, the read will prematurely end. +**/ +- (void)readDataToData:(NSData *)data + withTimeout:(NSTimeInterval)timeout + buffer:(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 AsyncSocketReadMaxedOutError. + * 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, 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, 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. + * Note that this method is not character-set aware, so if a separator can occur naturally as part of the encoding for + * a character, the read will prematurely end. +**/ +- (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. + * 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 if 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 AsyncSocketReadMaxedOutError. + * 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 parameter, + * the method will do nothing, and the delegate will not be 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 onSocket:didReadData:withTag: will be a subset of the given buffer. + * That is, it will reference the bytes that were appended to the given buffer. + * + * To read a line from the socket, use the line separator (e.g. CRLF for HTTP, see below) as the "data" parameter. + * Note that this method is not character-set aware, so if a separator can occur naturally as part of the encoding for + * a character, the read will prematurely end. +**/ +- (void)readDataToData:(NSData *)data + withTimeout:(NSTimeInterval)timeout + buffer:(NSMutableData *)buffer + bufferOffset:(NSUInteger)offset + maxLength:(NSUInteger)length + tag:(long)tag; + +/** + * 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. +**/ +- (void)writeData:(NSData *)data withTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Returns progress of current read or write, from 0.0 to 1.0, or NaN if no read/write (use isnan() to check). + * "tag", "done" and "total" will be filled in if they aren't NULL. +**/ +- (float)progressOfReadReturningTag:(long *)tag bytesDone:(NSUInteger *)done total:(NSUInteger *)total; +- (float)progressOfWriteReturningTag:(long *)tag bytesDone:(NSUInteger *)done total:(NSUInteger *)total; + +/** + * 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 possible keys and values for the TLS settings are well documented. + * Some possible keys are: + * - kCFStreamSSLLevel + * - kCFStreamSSLAllowsExpiredCertificates + * - kCFStreamSSLAllowsExpiredRoots + * - kCFStreamSSLAllowsAnyRoot + * - kCFStreamSSLValidatesCertificateChain + * - kCFStreamSSLPeerName + * - kCFStreamSSLCertificates + * - kCFStreamSSLIsServer + * + * Please refer to Apple's documentation for associated values, as well as other possible keys. + * + * If you pass in nil or an empty dictionary, the default settings will be used. + * + * 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". + * If you do not know the peer name of the remote host in advance (for example, you're not sure + * if it will be "domain.com" or "www.domain.com"), then you can use the default settings to validate the + * certificate, and then use the X509Certificate class to verify the issuer after the socket has been secured. + * The X509Certificate class is part of the CocoaAsyncSocket open source project. +**/ +- (void)startTLS:(NSDictionary *)tlsSettings; + +/** + * For handling readDataToData requests, data is necessarily read from the socket in small increments. + * The performance can be much improved by allowing AsyncSocket to read larger chunks at a time and + * store any overflow in a small internal buffer. + * This is termed pre-buffering, as some data may be read for you before you ask for it. + * If you use readDataToData a lot, enabling pre-buffering will result in better performance, especially on the iPhone. + * + * The default pre-buffering state is controlled by the DEFAULT_PREBUFFERING definition. + * It is highly recommended one leave this set to YES. + * + * This method exists in case pre-buffering needs to be disabled by default for some unforeseen reason. + * In that case, this method exists to allow one to easily enable pre-buffering when ready. +**/ +- (void)enablePreBuffering; + +/** + * When you create an AsyncSocket, it is added to the runloop of the current thread. + * So for manually created sockets, it is easiest to simply create the socket on the thread you intend to use it. + * + * If a new socket is accepted, the delegate method onSocket:wantsRunLoopForNewSocket: is called to + * allow you to place the socket on a separate thread. This works best in conjunction with a thread pool design. + * + * If, however, you need to move the socket to a separate thread at a later time, this + * method may be used to accomplish the task. + * + * This method must be called from the thread/runloop the socket is currently running on. + * + * Note: After calling this method, all further method calls to this object should be done from the given runloop. + * Also, all delegate calls will be sent on the given runloop. +**/ +- (BOOL)moveToRunLoop:(NSRunLoop *)runLoop; + +/** + * Allows you to configure which run loop modes the socket uses. + * The default set of run loop modes is NSDefaultRunLoopMode. + * + * If you'd like your socket to continue operation during other modes, you may want to add modes such as + * NSModalPanelRunLoopMode or NSEventTrackingRunLoopMode. Or you may simply want to use NSRunLoopCommonModes. + * + * Accepted sockets will automatically inherit the same run loop modes as the listening socket. + * + * Note: NSRunLoopCommonModes is defined in 10.5. For previous versions one can use kCFRunLoopCommonModes. +**/ +- (BOOL)setRunLoopModes:(NSArray *)runLoopModes; +- (BOOL)addRunLoopMode:(NSString *)runLoopMode; +- (BOOL)removeRunLoopMode:(NSString *)runLoopMode; + +/** + * Returns the current run loop modes the AsyncSocket instance is operating in. + * The default set of run loop modes is NSDefaultRunLoopMode. +**/ +- (NSArray *)runLoopModes; + +/** + * In the event of an error, this method may be called during onSocket:willDisconnectWithError: to read + * any data that's left on the socket. +**/ +- (NSData *)unreadData; + +/* A few common line separators, for use with the readDataToData:... methods. */ ++ (NSData *)CRLFData; // 0x0D0A ++ (NSData *)CRData; // 0x0D ++ (NSData *)LFData; // 0x0A ++ (NSData *)ZeroData; // 0x00 + +@end diff --git a/ios/Framework/CocoaAsyncSocket.framework/Headers/AsyncUdpSocket.h b/ios/Framework/CocoaAsyncSocket.framework/Headers/AsyncUdpSocket.h new file mode 100644 index 0000000..7bacef4 --- /dev/null +++ b/ios/Framework/CocoaAsyncSocket.framework/Headers/AsyncUdpSocket.h @@ -0,0 +1,368 @@ +// +// AsyncUdpSocket.h +// +// This class is in the public domain. +// Originally created by Robbie Hanson on Wed Oct 01 2008. +// Updated and maintained by Deusty Designs and the Mac development community. +// +// http://code.google.com/p/cocoaasyncsocket/ +// + +#import + +@class AsyncSendPacket; +@class AsyncReceivePacket; + +extern NSString *const AsyncUdpSocketException; +extern NSString *const AsyncUdpSocketErrorDomain; + +typedef NS_ENUM(NSInteger, AsyncUdpSocketError) { + AsyncUdpSocketCFSocketError = kCFSocketError, // From CFSocketError enum + AsyncUdpSocketNoError = 0, // Never used + AsyncUdpSocketBadParameter, // Used if given a bad parameter (such as an improper address) + AsyncUdpSocketIPv4Unavailable, // Used if you bind/connect using IPv6 only + AsyncUdpSocketIPv6Unavailable, // Used if you bind/connect using IPv4 only (or iPhone) + AsyncUdpSocketSendTimeoutError, + AsyncUdpSocketReceiveTimeoutError +}; + +@interface AsyncUdpSocket : NSObject +{ + CFSocketRef theSocket4; // IPv4 socket + CFSocketRef theSocket6; // IPv6 socket + + CFRunLoopSourceRef theSource4; // For theSocket4 + CFRunLoopSourceRef theSource6; // For theSocket6 + CFRunLoopRef theRunLoop; + CFSocketContext theContext; + NSArray *theRunLoopModes; + + NSMutableArray *theSendQueue; + AsyncSendPacket *theCurrentSend; + NSTimer *theSendTimer; + + NSMutableArray *theReceiveQueue; + AsyncReceivePacket *theCurrentReceive; + NSTimer *theReceiveTimer; + + id theDelegate; + UInt16 theFlags; + + long theUserData; + + NSString *cachedLocalHost; + UInt16 cachedLocalPort; + + NSString *cachedConnectedHost; + UInt16 cachedConnectedPort; + + UInt32 maxReceiveBufferSize; +} + +/** + * Creates new instances of AsyncUdpSocket. +**/ +- (id)init; +- (id)initWithDelegate:(id)delegate; +- (id)initWithDelegate:(id)delegate userData:(long)userData; + +/** + * Creates new instances of AsyncUdpSocket that support only IPv4 or IPv6. + * The other init methods will support both, unless specifically binded or connected to one protocol. + * If you know you'll only be using one protocol, these init methods may be a bit more efficient. +**/ +- (id)initIPv4; +- (id)initIPv6; + +- (id)delegate; +- (void)setDelegate:(id)delegate; + +- (long)userData; +- (void)setUserData:(long)userData; + +/** + * Returns the local address info for the socket. + * + * Note: Address info may not be available until after the socket has been bind'ed, + * or until after data has been sent. +**/ +- (NSString *)localHost; +- (UInt16)localPort; + +/** + * Returns the remote address info for the socket. + * + * 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 +**/ +- (NSString *)connectedHost; +- (UInt16)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 supports IPv4. + * By default this will be true, unless the socket is specifically initialized as IPv6 only, + * or is binded or connected to an IPv6 address. +**/ +- (BOOL)isIPv4; + +/** + * Returns whether or not this socket supports IPv6. + * By default this will be true, unless the socket is specifically initialized as IPv4 only, + * or is binded or 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; + +/** + * Returns the mtu of the socket. + * If unknown, returns zero. + * + * Sending data larger than this may result in an error. + * This is an advanced topic, and one should understand the wide range of mtu's on networks and the internet. + * Therefore this method is only for reference and may be of little use in many situations. +**/ +- (unsigned int)maximumTransmissionUnit; + +/** + * Binds the UDP socket to the given port and optional address. + * 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 nil for errPtr. +**/ +- (BOOL)bindToPort:(UInt16)port error:(NSError **)errPtr; +- (BOOL)bindToAddress:(NSString *)localAddr port:(UInt16)port error:(NSError **)errPtr; + +/** + * 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". + * + * 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. +**/ +- (BOOL)connectToHost:(NSString *)host onPort:(UInt16)port error:(NSError **)errPtr; +- (BOOL)connectToAddress:(NSData *)remoteAddr error:(NSError **)errPtr; + +/** + * Join multicast group + * + * Group should be an IP address (eg @"225.228.0.1") +**/ +- (BOOL)joinMulticastGroup:(NSString *)group error:(NSError **)errPtr; +- (BOOL)joinMulticastGroup:(NSString *)group withAddress:(NSString *)interface error:(NSError **)errPtr; + +/** + * 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 is to prevent + * accidental broadcast messages from flooding the network. +**/ +- (BOOL)enableBroadcast:(BOOL)flag error:(NSError **)errPtr; + +/** + * Asynchronously sends the given data, with the given timeout and tag. + * + * This method may only be used with a connected socket. + * + * If data is nil or zero-length, this method does nothing and immediately returns NO. + * If the socket is not connected, this method does nothing and immediately returns NO. +**/ +- (BOOL)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. + * + * If data is nil or zero-length, this method does nothing and immediately returns NO. + * If the socket is connected, this method does nothing and immediately returns NO. + * If unable to resolve host to a valid IPv4 or IPv6 address, this method returns NO. +**/ +- (BOOL)sendData:(NSData *)data toHost:(NSString *)host port:(UInt16)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. + * + * If data is nil or zero-length, this method does nothing and immediately returns NO. + * If the socket is connected, this method does nothing and immediately returns NO. +**/ +- (BOOL)sendData:(NSData *)data toAddress:(NSData *)remoteAddr withTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Asynchronously receives a single datagram packet. + * + * If the receive succeeds, the onUdpSocket:didReceiveData:fromHost:port:tag delegate method will be called. + * Otherwise, a timeout will occur, and the onUdpSocket:didNotReceiveDataWithTag: delegate method will be called. +**/ +- (void)receiveWithTimeout:(NSTimeInterval)timeout tag:(long)tag; + +/** + * Closes the socket immediately. Any pending send or receive operations are dropped. +**/ +- (void)close; + +/** + * Closes after all pending send operations have completed. + * After calling this, the sendData: and receive: methods will do nothing. + * In other words, you won't be able to add any more send or receive operations to the queue. + * The socket will close even if there are still pending receive operations. +**/ +- (void)closeAfterSending; + +/** + * Closes after all pending receive operations have completed. + * After calling this, the sendData: and receive: methods will do nothing. + * In other words, you won't be able to add any more send or receive operations to the queue. + * The socket will close even if there are still pending send operations. +**/ +- (void)closeAfterReceiving; + +/** + * Closes after all pending send and receive operations have completed. + * After calling this, the sendData: and receive: methods will do nothing. + * In other words, you won't be able to add any more send or receive operations to the queue. +**/ +- (void)closeAfterSendingAndReceiving; + +/** + * Gets/Sets the maximum size of the buffer that will be allocated for receive operations. + * The default size is 9216 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. + * + * In practice, however, the size of UDP packets will be much smaller. + * 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. +**/ +- (UInt32)maxReceiveBufferSize; +- (void)setMaxReceiveBufferSize:(UInt32)max; + +/** + * When you create an AsyncUdpSocket, it is added to the runloop of the current thread. + * So it is easiest to simply create the socket on the thread you intend to use it. + * + * If, however, you need to move the socket to a separate thread at a later time, this + * method may be used to accomplish the task. + * + * This method must be called from the thread/runloop the socket is currently running on. + * + * Note: After calling this method, all further method calls to this object should be done from the given runloop. + * Also, all delegate calls will be sent on the given runloop. +**/ +- (BOOL)moveToRunLoop:(NSRunLoop *)runLoop; + +/** + * Allows you to configure which run loop modes the socket uses. + * The default set of run loop modes is NSDefaultRunLoopMode. + * + * If you'd like your socket to continue operation during other modes, you may want to add modes such as + * NSModalPanelRunLoopMode or NSEventTrackingRunLoopMode. Or you may simply want to use NSRunLoopCommonModes. + * + * Note: NSRunLoopCommonModes is defined in 10.5. For previous versions one can use kCFRunLoopCommonModes. +**/ +- (BOOL)setRunLoopModes:(NSArray *)runLoopModes; + +/** + * Returns the current run loop modes the AsyncSocket instance is operating in. + * The default set of run loop modes is NSDefaultRunLoopMode. +**/ +- (NSArray *)runLoopModes; + +@end + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@protocol AsyncUdpSocketDelegate +@optional + +/** + * Called when the datagram with the given tag has been sent. +**/ +- (void)onUdpSocket:(AsyncUdpSocket *)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)onUdpSocket:(AsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error; + +/** + * Called when the socket has received the requested datagram. + * + * Due to the nature of UDP, you may occasionally receive undesired packets. + * These may be rogue UDP packets from unknown hosts, + * or they may be delayed packets arriving after retransmissions have already occurred. + * It's important these packets are properly ignored, while not interfering with the flow of your implementation. + * As an aid, this delegate method has a boolean return value. + * If you ever need to ignore a received packet, simply return NO, + * and AsyncUdpSocket will continue as if the packet never arrived. + * That is, the original receive request will still be queued, and will still timeout as usual if a timeout was set. + * For example, say you requested to receive data, and you set a timeout of 500 milliseconds, using a tag of 15. + * If rogue data arrives after 250 milliseconds, this delegate method would be invoked, and you could simply return NO. + * If the expected data then arrives within the next 250 milliseconds, + * this delegate method will be invoked, with a tag of 15, just as if the rogue data never appeared. + * + * Under normal circumstances, you simply return YES from this method. +**/ +- (BOOL)onUdpSocket:(AsyncUdpSocket *)sock + didReceiveData:(NSData *)data + withTag:(long)tag + fromHost:(NSString *)host + port:(UInt16)port; + +/** + * Called if an error occurs while trying to receive a requested datagram. + * This is generally due to a timeout, but could potentially be something else if some kind of OS error occurred. +**/ +- (void)onUdpSocket:(AsyncUdpSocket *)sock didNotReceiveDataWithTag:(long)tag dueToError:(NSError *)error; + +/** + * Called when the socket is closed. + * A socket is only closed if you explicitly call one of the close methods. +**/ +- (void)onUdpSocketDidClose:(AsyncUdpSocket *)sock; + +@end diff --git a/ios/Framework/CocoaAsyncSocket.framework/Headers/CocoaAsyncSocket.h b/ios/Framework/CocoaAsyncSocket.framework/Headers/CocoaAsyncSocket.h new file mode 100644 index 0000000..bac9e91 --- /dev/null +++ b/ios/Framework/CocoaAsyncSocket.framework/Headers/CocoaAsyncSocket.h @@ -0,0 +1,20 @@ +// +// CocoaAsyncSocket.h +// CocoaAsyncSocket +// +// Created by Derek Clarkson on 10/08/2015. +// Copyright © 2015 Robbie Hanson. All rights reserved. +// + +@import Foundation; + +//! Project version number for CocoaAsyncSocket. +FOUNDATION_EXPORT double cocoaAsyncSocketVersionNumber; + +//! Project version string for CocoaAsyncSocket. +FOUNDATION_EXPORT const unsigned char cocoaAsyncSocketVersionString[]; + +#import +#import +#import +#import diff --git a/ios/Framework/CocoaAsyncSocket.framework/Headers/GCDAsyncSocket.h b/ios/Framework/CocoaAsyncSocket.framework/Headers/GCDAsyncSocket.h new file mode 100644 index 0000000..cf70095 --- /dev/null +++ b/ios/Framework/CocoaAsyncSocket.framework/Headers/GCDAsyncSocket.h @@ -0,0 +1,1177 @@ +// +// GCDAsyncSocket.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 GCDAsyncReadPacket; +@class GCDAsyncWritePacket; +@class GCDAsyncSocketPreBuffer; + +extern NSString *const GCDAsyncSocketException; +extern NSString *const GCDAsyncSocketErrorDomain; + +extern NSString *const GCDAsyncSocketQueueName; +extern NSString *const GCDAsyncSocketThreadName; + +extern NSString *const GCDAsyncSocketManuallyEvaluateTrust; +#if TARGET_OS_IPHONE +extern NSString *const GCDAsyncSocketUseCFStreamForTLS; +#endif +#define GCDAsyncSocketSSLPeerName (NSString *)kCFStreamSSLPeerName +#define GCDAsyncSocketSSLCertificates (NSString *)kCFStreamSSLCertificates +#define GCDAsyncSocketSSLIsServer (NSString *)kCFStreamSSLIsServer +extern NSString *const GCDAsyncSocketSSLPeerID; +extern NSString *const GCDAsyncSocketSSLProtocolVersionMin; +extern NSString *const GCDAsyncSocketSSLProtocolVersionMax; +extern NSString *const GCDAsyncSocketSSLSessionOptionFalseStart; +extern NSString *const GCDAsyncSocketSSLSessionOptionSendOneByteRecord; +extern NSString *const GCDAsyncSocketSSLCipherSuites; +#if !TARGET_OS_IPHONE +extern NSString *const GCDAsyncSocketSSLDiffieHellmanParameters; +#endif + +#define GCDAsyncSocketLoggingContext 65535 + + +typedef NS_ENUM(NSInteger, GCDAsyncSocketError) { + GCDAsyncSocketNoError = 0, // Never used + GCDAsyncSocketBadConfigError, // Invalid configuration + GCDAsyncSocketBadParamError, // Invalid parameter was passed + GCDAsyncSocketConnectTimeoutError, // A connect operation timed out + GCDAsyncSocketReadTimeoutError, // A read operation timed out + GCDAsyncSocketWriteTimeoutError, // A write operation timed out + GCDAsyncSocketReadMaxedOutError, // Reached set maxLength without completing + GCDAsyncSocketClosedError, // The remote peer closed the connection + GCDAsyncSocketOtherError, // Description provided in userInfo +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@interface GCDAsyncSocket : NSObject + +/** + * GCDAsyncSocket 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, GCDAsyncSocket 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. +**/ +- (id)init; +- (id)initWithSocketQueue:(dispatch_queue_t)sq; +- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq; +- (id)initWithDelegate:(id)aDelegate delegateQueue:(dispatch_queue_t)dq socketQueue:(dispatch_queue_t)sq; + +#pragma mark Configuration + +@property (atomic, weak, readwrite) id delegate; +#if OS_OBJECT_USE_OBJC +@property (atomic, strong, readwrite) dispatch_queue_t delegateQueue; +#else +@property (atomic, assign, readwrite) dispatch_queue_t delegateQueue; +#endif + +- (void)getDelegate:(id *)delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr; +- (void)setDelegate:(id)delegate delegateQueue:(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:(id)delegate; +- (void)synchronouslySetDelegateQueue:(dispatch_queue_t)delegateQueue; +- (void)synchronouslySetDelegate:(id)delegate delegateQueue:(dispatch_queue_t)delegateQueue; + +/** + * By default, both IPv4 and IPv6 are enabled. + * + * For accepting incoming connections, this means GCDAsyncSocket automatically supports both protocols, + * and can simulataneously accept incoming connections on either protocol. + * + * For outgoing connections, this means GCDAsyncSocket can connect to remote hosts running either protocol. + * If a DNS lookup returns only IPv4 results, GCDAsyncSocket will automatically use IPv4. + * If a DNS lookup returns only IPv6 results, GCDAsyncSocket 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; + +/** + * 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) 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 GCDAsyncSocket 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:(NSString *)interface port:(uint16_t)port 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:(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 connectToAdd +**/ +- (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:(NSString *)interface + withTimeout:(NSTimeInterval)timeout + 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 GCDAsyncSocket 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 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) NSString *connectedHost; +@property (atomic, readonly) uint16_t connectedPort; + +@property (atomic, readonly) 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) NSData *connectedAddress; +@property (atomic, readonly) 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 if 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:(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 if 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:(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 if 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:(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:(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 if 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:(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 GCDAsyncSocketReadMaxedOutError. + * 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 if 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 GCDAsyncSocketReadMaxedOutError. + * 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:(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:(long *)tagPtr bytesDone:(NSUInteger *)donePtr total:(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 GCDAsyncSocket 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:(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:(long *)tagPtr bytesDone:(NSUInteger *)donePtr total:(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: + * + * - GCDAsyncSocketManuallyEvaluateTrust + * 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 GCDAsyncSocket 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. + * + * - GCDAsyncSocketUseCFStreamForTLS (iOS only) + * The value must be of type NSNumber, encapsulating a BOOL value. + * By default GCDAsyncSocket 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 GCDAsyncSocket to use the old-fashioned encryption + * technique by going through the CFStream instead. So instead of using SecureTransport, GCDAsyncSocket + * 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 GCDAsyncSocket, + * 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. + * + * - GCDAsyncSocketSSLPeerID + * 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. + * + * - GCDAsyncSocketSSLProtocolVersionMin + * - GCDAsyncSocketSSLProtocolVersionMax + * The value(s) must be of type NSNumber, encapsulting a SSLProtocol value. + * See Apple's documentation for SSLSetProtocolVersionMin & SSLSetProtocolVersionMax. + * See also the SSLProtocol typedef. + * + * - GCDAsyncSocketSSLSessionOptionFalseStart + * The value must be of type NSNumber, encapsulating a BOOL value. + * See Apple's documentation for kSSLSessionOptionFalseStart. + * + * - GCDAsyncSocketSSLSessionOptionSendOneByteRecord + * The value must be of type NSNumber, encapsulating a BOOL value. + * See Apple's documentation for kSSLSessionOptionSendOneByteRecord. + * + * - GCDAsyncSocketSSLCipherSuites + * The values must be of type NSArray. + * Each item within the array must be a NSNumber, encapsulating + * See Apple's documentation for SSLSetEnabledCiphers. + * See also the SSLCipherSuite typedef. + * + * - GCDAsyncSocketSSLDiffieHellmanParameters (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 GCDAsyncSocketManuallyEvaluateTrust). + * Corresponding deprecated method: SSLSetAllowsAnyRoot + * + * - kCFStreamSSLAllowsExpiredRoots (UNAVAILABLE) + * You MUST use manual trust evaluation instead (see GCDAsyncSocketManuallyEvaluateTrust). + * Corresponding deprecated method: SSLSetAllowsExpiredRoots + * + * - kCFStreamSSLAllowsExpiredCertificates (UNAVAILABLE) + * You MUST use manual trust evaluation instead (see GCDAsyncSocketManuallyEvaluateTrust). + * Corresponding deprecated method: SSLSetAllowsExpiredCerts + * + * - kCFStreamSSLValidatesCertificateChain (UNAVAILABLE) + * You MUST use manual trust evaluation instead (see GCDAsyncSocketManuallyEvaluateTrust). + * Corresponding deprecated method: SSLSetEnableCertVerify + * + * - kCFStreamSSLLevel (UNAVAILABLE) + * You MUST use GCDAsyncSocketSSLProtocolVersionMin & GCDAsyncSocketSSLProtocolVersionMin 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:(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; + +/** + * GCDAsyncSocket 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 GCD 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:(GCDAsyncSocket *)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:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)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 GCD API isn't notified properly in this case. + * + * See also: (BOOL)enableBackgroundingOnSocket +**/ +- (CFReadStreamRef)readStream; +- (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, kCFStreamNetworkServiceTypeVoIP); + * CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP); + * + * 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:(GCDAsyncSocket *)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. +**/ +- (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. +**/ ++ (NSMutableArray *)lookupHost:(NSString *)host port:(uint16_t)port error:(NSError **)errPtr; + +/** + * Extracting host and port information from raw address data. +**/ + ++ (NSString *)hostFromAddress:(NSData *)address; ++ (uint16_t)portFromAddress:(NSData *)address; + ++ (BOOL)isIPv4Address:(NSData *)address; ++ (BOOL)isIPv6Address:(NSData *)address; + ++ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr fromAddress:(NSData *)address; + ++ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr family:(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 GCDAsyncSocketDelegate +@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; +**/ +- (dispatch_queue_t)newSocketQueueForConnectionFromAddress:(NSData *)address onSocket:(GCDAsyncSocket *)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:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)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:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port; + +/** + * Called when a socket has completed reading the requested data into memory. + * Not called if there is an error. +**/ +- (void)socket:(GCDAsyncSocket *)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 to for things such as updating progress bars. +**/ +- (void)socket:(GCDAsyncSocket *)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:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag; + +/** + * Called when a socket has written some data, but has not yet completed the entire write. + * It may be used to for things such as updating progress bars. +**/ +- (void)socket:(GCDAsyncSocket *)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:(GCDAsyncSocket *)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:(GCDAsyncSocket *)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:(GCDAsyncSocket *)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 GCDAsyncSocket 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:(GCDAsyncSocket *)sock withError:(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:(GCDAsyncSocket *)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: + * - GCDAsyncSocketManuallyEvaluateTrust == 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:(GCDAsyncSocket *)sock didReceiveTrust:(SecTrustRef)trust + completionHandler:(void (^)(BOOL shouldTrustPeer))completionHandler; + +@end diff --git a/ios/Framework/CocoaAsyncSocket.framework/Headers/GCDAsyncUdpSocket.h b/ios/Framework/CocoaAsyncSocket.framework/Headers/GCDAsyncUdpSocket.h new file mode 100644 index 0000000..7587965 --- /dev/null +++ b/ios/Framework/CocoaAsyncSocket.framework/Headers/GCDAsyncUdpSocket.h @@ -0,0 +1,1007 @@ +// +// GCDAsyncUdpSocket +// +// 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 + +extern NSString *const GCDAsyncUdpSocketException; +extern NSString *const GCDAsyncUdpSocketErrorDomain; + +extern NSString *const GCDAsyncUdpSocketQueueName; +extern NSString *const GCDAsyncUdpSocketThreadName; + +typedef NS_ENUM(NSInteger, GCDAsyncUdpSocketError) { + GCDAsyncUdpSocketNoError = 0, // Never used + GCDAsyncUdpSocketBadConfigError, // Invalid configuration + GCDAsyncUdpSocketBadParamError, // Invalid parameter was passed + GCDAsyncUdpSocketSendTimeoutError, // A send operation timed out + GCDAsyncUdpSocketClosedError, // The socket was closed + GCDAsyncUdpSocketOtherError, // Description provided in userInfo +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#pragma mark - +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +@class GCDAsyncUdpSocket; + +@protocol GCDAsyncUdpSocketDelegate +@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:(GCDAsyncUdpSocket *)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:(GCDAsyncUdpSocket *)sock didNotConnect:(NSError *)error; + +/** + * Called when the datagram with the given tag has been sent. +**/ +- (void)udpSocket:(GCDAsyncUdpSocket *)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:(GCDAsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error; + +/** + * Called when the socket has received the requested datagram. +**/ +- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data + fromAddress:(NSData *)address + withFilterContext:(id)filterContext; + +/** + * Called when the socket is closed. +**/ +- (void)udpSocketDidClose:(GCDAsyncUdpSocket *)sock withError:(NSError *)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: + * + * GCDAsyncUdpSocketReceiveFilterBlock 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 (^GCDAsyncUdpSocketReceiveFilterBlock)(NSData *data, NSData *address, id *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 (^GCDAsyncUdpSocketSendFilterBlock)(NSData *data, NSData *address, long tag); + + +@interface GCDAsyncUdpSocket : NSObject + +/** + * GCDAsyncUdpSocket 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, GCDAsyncSocket 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. +**/ +- (id)init; +- (id)initWithSocketQueue:(dispatch_queue_t)sq; +- (id)initWithDelegate:(id )aDelegate delegateQueue:(dispatch_queue_t)dq; +- (id)initWithDelegate:(id )aDelegate delegateQueue:(dispatch_queue_t)dq socketQueue:(dispatch_queue_t)sq; + +#pragma mark Configuration + +- (id )delegate; +- (void)setDelegate:(id )delegate; +- (void)synchronouslySetDelegate:(id )delegate; + +- (dispatch_queue_t)delegateQueue; +- (void)setDelegateQueue:(dispatch_queue_t)delegateQueue; +- (void)synchronouslySetDelegateQueue:(dispatch_queue_t)delegateQueue; + +- (void)getDelegate:(id *)delegatePtr delegateQueue:(dispatch_queue_t *)delegateQueuePtr; +- (void)setDelegate:(id )delegate delegateQueue:(dispatch_queue_t)delegateQueue; +- (void)synchronouslySetDelegate:(id )delegate delegateQueue:(dispatch_queue_t)delegateQueue; + +/** + * By default, both IPv4 and IPv6 are enabled. + * + * This means GCDAsyncUdpSocket 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, GCDAsyncUdpSocket supports both IPv4 and IPv6. + * If a DNS lookup returns only IPv4 results, GCDAsyncUdpSocket will automatically use IPv4. + * If a DNS lookup returns only IPv6 results, GCDAsyncUdpSocket 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 9216 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/GCD 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; + +/** + * User data allows you to associate arbitrary information with the socket. + * This data is not used internally in any way. +**/ +- (id)userData; +- (void)setUserData:(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. +**/ +- (NSData *)localAddress; +- (NSString *)localHost; +- (uint16_t)localPort; + +- (NSData *)localAddress_IPv4; +- (NSString *)localHost_IPv4; +- (uint16_t)localPort_IPv4; + +- (NSData *)localAddress_IPv6; +- (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. +**/ +- (NSData *)connectedAddress; +- (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:(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:(NSString *)interface error:(NSError **)errPtr; + +- (BOOL)leaveMulticastGroup:(NSString *)group error:(NSError **)errPtr; +- (BOOL)leaveMulticastGroup:(NSString *)group onInterface:(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 GCDAsyncUdpSocket 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 GCDAsyncUdpSocket 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 GCDAsyncUdpSocket 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 GCDAsyncUdpSocketSendFilterBlock, 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:(GCDAsyncUdpSocketSendFilterBlock)filterBlock withQueue:(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:(GCDAsyncUdpSocketSendFilterBlock)filterBlock + withQueue:(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: + * GCDAsyncUdpSocket 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, GCDAsyncUdpSocket 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: + * + * GCDAsyncUdpSocketReceiveFilterBlock 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 GCDAsyncUdpSocketReceiveFilterBlock, 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:(GCDAsyncUdpSocketReceiveFilterBlock)filterBlock withQueue:(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:(GCDAsyncUdpSocketReceiveFilterBlock)filterBlock + withQueue:(dispatch_queue_t)filterQueue + isAsynchronous:(BOOL)isAsynchronous; + +#pragma mark Closing + +/** + * Immediately closes the underlying socket. + * Any pending send operations are discarded. + * + * The GCDAsyncUdpSocket 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 GCDAsyncUdpSocket instance may optionally be used again. + * (it will setup/configure/use another unnderlying BSD socket). +**/ +- (void)closeAfterSending; + +#pragma mark Advanced +/** + * GCDAsyncSocket 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 GCD 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:(GCDAsyncSocket *)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:(GCDAsyncSocket *)sock didAcceptNewSocket:(GCDAsyncSocket *)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 GCDAsyncUdpSocket doesn't use CFStream. (It uses the faster GCD 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. +**/ +- (CFReadStreamRef)readStream; +- (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, kCFStreamNetworkServiceTypeVoIP); + * CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP); + * + * 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. +**/ + ++ (NSString *)hostFromAddress:(NSData *)address; ++ (uint16_t)portFromAddress:(NSData *)address; ++ (int)familyFromAddress:(NSData *)address; + ++ (BOOL)isIPv4Address:(NSData *)address; ++ (BOOL)isIPv6Address:(NSData *)address; + ++ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr fromAddress:(NSData *)address; ++ (BOOL)getHost:(NSString **)hostPtr port:(uint16_t *)portPtr family:(int *)afPtr fromAddress:(NSData *)address; + +@end + diff --git a/ios/Framework/CocoaAsyncSocket.framework/Info.plist b/ios/Framework/CocoaAsyncSocket.framework/Info.plist new file mode 100644 index 0000000000000000000000000000000000000000..04595679db4a5474ac09f2558e2b4dbcbffb9d99 GIT binary patch literal 776 zcmZWlJ#*7Q5WPDBnDF6COb7`Ci1`knk#HPC#o)-92^r&%lam0MXwLG*J|f*|^bs&H z6m%5f2hagM1;2ojo`#MlRLn3`v>*wIFkzeB+qduCzHPZS_XAb^f`=g5)wg@k-rTGiX1A%smULs;l5KWZ zH;6tLckU%sHRN{N#3R|P&Ni4WU5ANafpxePCeCNrBJ=#DQ%G2KYIV6_4U)W8bz|P9 z!J71(Slz^hj5bfLb=qM@&yBjHS(kLB7o>_L@VMyw3x=*6!K|H0`X(OBn6qL{>f8#V zRjAkdyVPKY*B&t|3~0-aElx|vz7jO$!*Cv+O*f68n-^2^sa^H!U)(FwT4W~jsM zo{0yxeWkpW^pxr82C{z%?+6-%UgR>rO-iTmw6r9>>Gy<1q_xfhL#>pw``qnH!K8m( zDJ^QH+SQV}z{DM`sg-L}<>d@DX6j3GL{rq)FVu%} js2>&3Fq%LOM9@R@7(GSL&~x+xB!S?c46dX(P3Yxst8(xm literal 0 HcmV?d00001 diff --git a/ios/Framework/CocoaAsyncSocket.framework/Modules/module.modulemap b/ios/Framework/CocoaAsyncSocket.framework/Modules/module.modulemap new file mode 100644 index 0000000..6c90f59 --- /dev/null +++ b/ios/Framework/CocoaAsyncSocket.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module CocoaAsyncSocket { + umbrella header "CocoaAsyncSocket.h" + + export * + module * { export * } +} diff --git a/ios/Framework/CocoaAsyncSocket.framework/_CodeSignature/CodeResources b/ios/Framework/CocoaAsyncSocket.framework/_CodeSignature/CodeResources new file mode 100644 index 0000000..0faf204 --- /dev/null +++ b/ios/Framework/CocoaAsyncSocket.framework/_CodeSignature/CodeResources @@ -0,0 +1,201 @@ + + + + + files + + Headers/AsyncSocket.h + + GyStCmhuxAWLghA+fHLwPiSbVNI= + + Headers/AsyncUdpSocket.h + + oqLPl3ROAyiOqTaqhuupNjuxVU0= + + Headers/CocoaAsyncSocket.h + + fwx/DHzHzUQhtlfC9ffKAK+SFx0= + + Headers/GCDAsyncSocket.h + + /7aHrd4SpiKhqk1H7YRnTBSmJow= + + Headers/GCDAsyncUdpSocket.h + + LH5V3wgNYRH1dy/fNu8r4lu8puI= + + Info.plist + + hIIk3iGpMXJkFPisCMWGNsBtuQI= + + Modules/module.modulemap + + +n94rYTWDjekX3imyh+PSyA9vgA= + + + files2 + + Headers/AsyncSocket.h + + hash + + GyStCmhuxAWLghA+fHLwPiSbVNI= + + hash2 + + FK+dN4jyAlPVkpV5Ai//YboXm9aUxPv3x3Q3viDjqTU= + + + Headers/AsyncUdpSocket.h + + hash + + oqLPl3ROAyiOqTaqhuupNjuxVU0= + + hash2 + + aTSbXrHSbcwPrz3/NoP6Q+jWZEwou6OSHQh/8WRkf/0= + + + Headers/CocoaAsyncSocket.h + + hash + + fwx/DHzHzUQhtlfC9ffKAK+SFx0= + + hash2 + + OeCNZd4h1R70nH11jcrFn8m1hnTuvTAHjDhMuhI/3Ao= + + + Headers/GCDAsyncSocket.h + + hash + + /7aHrd4SpiKhqk1H7YRnTBSmJow= + + hash2 + + bOafNUOs6luKovAV0sGzRLmHYf/vKZPF/Wg0IJD1zwQ= + + + Headers/GCDAsyncUdpSocket.h + + hash + + LH5V3wgNYRH1dy/fNu8r4lu8puI= + + hash2 + + CAMdz3VphGMLZyKBHhxLfGK4d70mHUiuHsG45jRPi+0= + + + Modules/module.modulemap + + hash + + +n94rYTWDjekX3imyh+PSyA9vgA= + + hash2 + + RoVn8xMeEnU3Izg0DtYjYL/krI8V7qw0sa7Ggf+08Rs= + + + + rules + + ^ + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^version.plist$ + + + rules2 + + .*\.dSYM($|/) + + weight + 11 + + ^ + + weight + 20 + + ^(.*/)?\.DS_Store$ + + omit + + weight + 2000 + + ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ + + nested + + weight + 10 + + ^.* + + ^.*\.lproj/ + + optional + + weight + 1000 + + ^.*\.lproj/locversion.plist$ + + omit + + weight + 1100 + + ^Info\.plist$ + + omit + + weight + 20 + + ^PkgInfo$ + + omit + + weight + 20 + + ^[^/]+$ + + nested + + weight + 10 + + ^embedded\.provisionprofile$ + + weight + 20 + + ^version\.plist$ + + weight + 20 + + + +