X-Git-Url: http://git.ithinksw.org/ITFoundation.git/blobdiff_plain/efba0771006586ff3981193df016a28f19931a20..4883c610168ebeb51a54ae8cce12d24638034b08:/ITInetSocket.h diff --git a/ITInetSocket.h b/ITInetSocket.h index 9f7d165..edbfa64 100755 --- a/ITInetSocket.h +++ b/ITInetSocket.h @@ -8,6 +8,8 @@ #import #import +#import +#import "ITByteStream.h" enum { ITInetMaxConnections = 36 @@ -15,13 +17,21 @@ enum { typedef enum { ITInetSocketConnecting, - ITInetSocketReady, + ITInetSocketListening, + ITInetSocketReading, + ITInetSocketWriting, ITInetSocketDisconnected } ITInetSocketState; +typedef enum { + ITInetHostNotFound, + ITInetConnectionDropped, + ITInetCouldNotConnect, +} ITInetSocketError; + @protocol ITInetSocketOwner -- (void) requestCompleted:(in NSData*)data; -- (void) errorOccured:(int)err during:(ITInetSocketState)state; +- (void) dataRecieved:(in NSData*)data; +- (void) errorOccured:(ITInetSocketError)err during:(ITInetSocketState)state; - (void) finishedConnecting; @end @@ -30,16 +40,17 @@ typedef enum { int sockfd; int port; id delegate; - struct sockaddr_in6 sa; - NSMutableData *requestBuffer; + struct addrinfo *ai; + ITByteStream *readPipe, *writePipe; ITInetSocketState state; + NSArray *sarr; } -// Init ++(void)startAutoconnectingToService:(NSString*)type delegate:(id)d; -(id) initWithFD:(int)fd delegate:(id)d; -(id) initWithDelegate:(id)d; -(void) connectToHost:(NSString*)host onPort:(short)port; - +-(void) connectToHost:(NSString*)host onNamedPort:(NSString*)port; +-(void) connectWithSockaddrArray:(NSArray*)arr; -(ITInetSocketState) state; - @end