X-Git-Url: http://git.ithinksw.org/ITFoundation.git/blobdiff_plain/efba0771006586ff3981193df016a28f19931a20..c9052c980424ad549525715bd3b1239d6dd4ca11:/ITInetSocket.h diff --git a/ITInetSocket.h b/ITInetSocket.h index 9f7d165..2430267 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,13 @@ typedef enum { int sockfd; int port; id delegate; - struct sockaddr_in6 sa; - NSMutableData *requestBuffer; + struct addrinfo *ai; + ITByteStream *readPipe, *writePipe; ITInetSocketState state; } -// Init -(id) initWithFD:(int)fd delegate:(id)d; -(id) initWithDelegate:(id)d; -(void) connectToHost:(NSString*)host onPort:(short)port; - -(ITInetSocketState) state; - @end