More documentation. release_1
authorJens Alfke <jens@mooseyard.com>
Sun May 25 12:32:47 2008 -0700 (2008-05-25)
changeset 52c4bb6968927
parent 4 2bd9d60a2c46
child 6 bceeeabb8c34
More documentation.
BLIP/BLIPConnection.h
BLIP/BLIPConnection.m
BLIP/BLIPMessage.h
BLIP/BLIPRequest.h
MYNetwork.xcodeproj/project.pbxproj
maindocs.h
     1.1 --- a/BLIP/BLIPConnection.h	Sun May 25 10:28:26 2008 -0700
     1.2 +++ b/BLIP/BLIPConnection.h	Sun May 25 12:32:47 2008 -0700
     1.3 @@ -12,7 +12,7 @@
     1.4  @protocol BLIPConnectionDelegate;
     1.5  
     1.6  
     1.7 -/** Represents a connection to a peer, using the BLIP protocol over a TCP socket.
     1.8 +/** Represents a connection to a peer, using the <a href=".#blipdesc">BLIP</a> protocol over a TCP socket.
     1.9      Outgoing connections are made simply by instantiating a BLIPConnection via -initToAddress:.
    1.10      Incoming connections are usually set up by a BLIPListener and passed to the listener's
    1.11      delegate.
    1.12 @@ -34,14 +34,14 @@
    1.13      a generic error response will be returned. */
    1.14  @property (readonly) BLIPDispatcher *dispatcher;
    1.15  
    1.16 -/** Creates an outgoing request, with no properties.
    1.17 -    The body may be nil.
    1.18 -    To send it, call -send. */
    1.19 -- (BLIPRequest*) requestWithBody: (NSData*)body;
    1.20 +/** Creates a new, empty outgoing request.
    1.21 +    You should add properties and/or body data to the request, before sending it by
    1.22 +    calling its -send method. */
    1.23 +- (BLIPRequest*) request;
    1.24  
    1.25 -/** Creates an outgoing request.
    1.26 -    The body or properties may be nil.
    1.27 -    To send it, call -send. */
    1.28 +/** Creates a new outgoing request.
    1.29 +    The body or properties may be nil; you can add additional data or properties by calling
    1.30 +    methods on the request itself, before sending it by calling its -send method. */
    1.31  - (BLIPRequest*) requestWithBody: (NSData*)body
    1.32                        properties: (NSDictionary*)properies;
    1.33  
    1.34 @@ -78,7 +78,7 @@
    1.35  
    1.36  
    1.37  
    1.38 -/** A "server" that listens on a TCP socket for incoming BLIP connections and creates
    1.39 +/** A "server" that listens on a TCP socket for incoming <a href=".#blipdesc">BLIP</a> connections and creates
    1.40      BLIPConnection instances to handle them.
    1.41      Most of the API is inherited from TCPListener. */
    1.42  @interface BLIPListener : TCPListener
     2.1 --- a/BLIP/BLIPConnection.m	Sun May 25 10:28:26 2008 -0700
     2.2 +++ b/BLIP/BLIPConnection.m	Sun May 25 12:32:47 2008 -0700
     2.3 @@ -81,9 +81,9 @@
     2.4  }
     2.5  
     2.6  
     2.7 -- (BLIPRequest*) requestWithBody: (NSData*)body
     2.8 +- (BLIPRequest*) request
     2.9  {
    2.10 -    return [[[BLIPRequest alloc] _initWithConnection: self body: body properties: nil] autorelease];
    2.11 +    return [[[BLIPRequest alloc] _initWithConnection: self body: nil properties: nil] autorelease];
    2.12  }
    2.13  
    2.14  - (BLIPRequest*) requestWithBody: (NSData*)body
     3.1 --- a/BLIP/BLIPMessage.h	Sun May 25 10:28:26 2008 -0700
     3.2 +++ b/BLIP/BLIPMessage.h	Sun May 25 12:32:47 2008 -0700
     3.3 @@ -31,7 +31,7 @@
     3.4  };
     3.5  
     3.6  
     3.7 -/** Abstract superclass for BLIP requests and responses. */
     3.8 +/** Abstract superclass for <a href=".#blipdesc">BLIP</a> requests and responses. */
     3.9  @interface BLIPMessage : NSObject 
    3.10  {
    3.11      BLIPConnection *_connection;
     4.1 --- a/BLIP/BLIPRequest.h	Sun May 25 10:28:26 2008 -0700
     4.2 +++ b/BLIP/BLIPRequest.h	Sun May 25 12:32:47 2008 -0700
     4.3 @@ -10,7 +10,7 @@
     4.4  @class BLIPResponse, MYTarget;
     4.5  
     4.6  
     4.7 -/** A Request, or initiating message. */
     4.8 +/** A Request, or initiating message, in the <a href=".#blipdesc">BLIP</a> protocol. */
     4.9  @interface BLIPRequest : BLIPMessage
    4.10  {
    4.11      @private
    4.12 @@ -80,7 +80,7 @@
    4.13  
    4.14  
    4.15  
    4.16 -/** A reply to a BLIPRequest. */
    4.17 +/** A reply to a BLIPRequest, in the <a href=".#blipdesc">BLIP</a> protocol. */
    4.18  @interface BLIPResponse : BLIPMessage
    4.19  {
    4.20      @private
     5.1 --- a/MYNetwork.xcodeproj/project.pbxproj	Sun May 25 10:28:26 2008 -0700
     5.2 +++ b/MYNetwork.xcodeproj/project.pbxproj	Sun May 25 12:32:47 2008 -0700
     5.3 @@ -46,13 +46,46 @@
     5.4  		277904460DE91E3700C6D295 /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704612A0DE49088003D9D3F /* Logging.m */; };
     5.5  		277904480DE91E3900C6D295 /* Target.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461460DE491A6003D9D3F /* Target.m */; };
     5.6  		277904490DE91E3A00C6D295 /* Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461280DE49088003D9D3F /* Test.m */; };
     5.7 -		2779046D0DE91F4200C6D295 /* BLIPEchoServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 277903D60DE8EE4800C6D295 /* BLIPEchoServer.m */; };
     5.8  		2779048B0DE9204300C6D295 /* BLIPEchoClient.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2779048A0DE9204300C6D295 /* BLIPEchoClient.xib */; };
     5.9 +		277905110DE9E5BC00C6D295 /* BLIPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F40DE49030003D9D3F /* BLIPConnection.m */; };
    5.10 +		277905120DE9E5BC00C6D295 /* BLIPDispatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F60DE49030003D9D3F /* BLIPDispatcher.m */; };
    5.11 +		277905130DE9E5BC00C6D295 /* BLIPMessage.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460F90DE49030003D9D3F /* BLIPMessage.m */; };
    5.12 +		277905140DE9E5BC00C6D295 /* BLIPProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FB0DE49030003D9D3F /* BLIPProperties.m */; };
    5.13 +		277905150DE9E5BC00C6D295 /* BLIPReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FD0DE49030003D9D3F /* BLIPReader.m */; };
    5.14 +		277905160DE9E5BC00C6D295 /* BLIPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461000DE49030003D9D3F /* BLIPWriter.m */; };
    5.15 +		277905170DE9E5BC00C6D295 /* IPAddress.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461020DE49030003D9D3F /* IPAddress.m */; };
    5.16 +		277905180DE9E5BC00C6D295 /* TCPConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610A0DE49030003D9D3F /* TCPConnection.m */; };
    5.17 +		277905190DE9E5BC00C6D295 /* TCPEndpoint.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610C0DE49030003D9D3F /* TCPEndpoint.m */; };
    5.18 +		2779051A0DE9E5BC00C6D295 /* TCPListener.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704610E0DE49030003D9D3F /* TCPListener.m */; };
    5.19 +		2779051B0DE9E5BC00C6D295 /* TCPStream.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461100DE49030003D9D3F /* TCPStream.m */; };
    5.20 +		2779051C0DE9E5BC00C6D295 /* TCPWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461120DE49030003D9D3F /* TCPWriter.m */; };
    5.21 +		2779051D0DE9E5BC00C6D295 /* Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461280DE49088003D9D3F /* Test.m */; };
    5.22 +		2779051E0DE9E5BC00C6D295 /* Logging.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704612A0DE49088003D9D3F /* Logging.m */; };
    5.23 +		2779051F0DE9E5BC00C6D295 /* ExceptionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461350DE4918D003D9D3F /* ExceptionUtils.m */; };
    5.24 +		277905200DE9E5BC00C6D295 /* Target.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461460DE491A6003D9D3F /* Target.m */; };
    5.25 +		277905210DE9E5BC00C6D295 /* GTMNSData+zlib.m in Sources */ = {isa = PBXBuildFile; fileRef = 2704616F0DE492F3003D9D3F /* GTMNSData+zlib.m */; };
    5.26 +		277905220DE9E5BC00C6D295 /* CollectionUtils.m in Sources */ = {isa = PBXBuildFile; fileRef = 270461870DE49634003D9D3F /* CollectionUtils.m */; };
    5.27 +		277905230DE9E5BC00C6D295 /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */; };
    5.28 +		277905240DE9E5BC00C6D295 /* BLIPEchoServer.m in Sources */ = {isa = PBXBuildFile; fileRef = 277903D60DE8EE4800C6D295 /* BLIPEchoServer.m */; };
    5.29 +		277905260DE9E5BC00C6D295 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
    5.30 +		277905270DE9E5BC00C6D295 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2704618B0DE49652003D9D3F /* libz.dylib */; };
    5.31 +		277905280DE9E5BC00C6D295 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 270461910DE4975C003D9D3F /* CoreServices.framework */; };
    5.32 +		277905300DE9ED9100C6D295 /* MYUtilitiesTest_main.m in Sources */ = {isa = PBXBuildFile; fileRef = 270462C10DE4A64B003D9D3F /* MYUtilitiesTest_main.m */; };
    5.33 +		2779053B0DE9EDAA00C6D295 /* BLIPTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 270460FE0DE49030003D9D3F /* BLIPTest.m */; };
    5.34  		27D5EC070DE5FEDE00CD84FA /* BLIPRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */; };
    5.35  		8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
    5.36  /* End PBXBuildFile section */
    5.37  
    5.38  /* Begin PBXCopyFilesBuildPhase section */
    5.39 +		277905290DE9E5BC00C6D295 /* CopyFiles */ = {
    5.40 +			isa = PBXCopyFilesBuildPhase;
    5.41 +			buildActionMask = 8;
    5.42 +			dstPath = /usr/share/man/man1/;
    5.43 +			dstSubfolderSpec = 0;
    5.44 +			files = (
    5.45 +			);
    5.46 +			runOnlyForDeploymentPostprocessing = 1;
    5.47 +		};
    5.48  		8DD76F9E0486AA7600D96B5E /* CopyFiles */ = {
    5.49  			isa = PBXCopyFilesBuildPhase;
    5.50  			buildActionMask = 8;
    5.51 @@ -121,6 +154,7 @@
    5.52  		277904260DE91C7900C6D295 /* BLIP Echo Client.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "BLIP Echo Client.app"; sourceTree = BUILT_PRODUCTS_DIR; };
    5.53  		277904280DE91C7900C6D295 /* BLIP Echo Client-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "BLIP Echo Client-Info.plist"; sourceTree = "<group>"; };
    5.54  		2779048A0DE9204300C6D295 /* BLIPEchoClient.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BLIPEchoClient.xib; sourceTree = "<group>"; };
    5.55 +		2779052D0DE9E5BC00C6D295 /* BLIPEchoServer */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = BLIPEchoServer; sourceTree = BUILT_PRODUCTS_DIR; };
    5.56  		27D5EC050DE5FEDE00CD84FA /* BLIPRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BLIPRequest.h; sourceTree = "<group>"; };
    5.57  		27D5EC060DE5FEDE00CD84FA /* BLIPRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BLIPRequest.m; sourceTree = "<group>"; };
    5.58  /* End PBXFileReference section */
    5.59 @@ -133,6 +167,16 @@
    5.60  			);
    5.61  			runOnlyForDeploymentPostprocessing = 0;
    5.62  		};
    5.63 +		277905250DE9E5BC00C6D295 /* Frameworks */ = {
    5.64 +			isa = PBXFrameworksBuildPhase;
    5.65 +			buildActionMask = 2147483647;
    5.66 +			files = (
    5.67 +				277905260DE9E5BC00C6D295 /* Foundation.framework in Frameworks */,
    5.68 +				277905270DE9E5BC00C6D295 /* libz.dylib in Frameworks */,
    5.69 +				277905280DE9E5BC00C6D295 /* CoreServices.framework in Frameworks */,
    5.70 +			);
    5.71 +			runOnlyForDeploymentPostprocessing = 0;
    5.72 +		};
    5.73  		8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
    5.74  			isa = PBXFrameworksBuildPhase;
    5.75  			buildActionMask = 2147483647;
    5.76 @@ -175,6 +219,7 @@
    5.77  			children = (
    5.78  				270461720DE49340003D9D3F /* MYNetwork */,
    5.79  				277904260DE91C7900C6D295 /* BLIP Echo Client.app */,
    5.80 +				2779052D0DE9E5BC00C6D295 /* BLIPEchoServer */,
    5.81  			);
    5.82  			name = Products;
    5.83  			sourceTree = "<group>";
    5.84 @@ -296,6 +341,24 @@
    5.85  			productReference = 277904260DE91C7900C6D295 /* BLIP Echo Client.app */;
    5.86  			productType = "com.apple.product-type.application";
    5.87  		};
    5.88 +		2779050F0DE9E5BC00C6D295 /* BLIP Echo Server */ = {
    5.89 +			isa = PBXNativeTarget;
    5.90 +			buildConfigurationList = 2779052A0DE9E5BC00C6D295 /* Build configuration list for PBXNativeTarget "BLIP Echo Server" */;
    5.91 +			buildPhases = (
    5.92 +				277905100DE9E5BC00C6D295 /* Sources */,
    5.93 +				277905250DE9E5BC00C6D295 /* Frameworks */,
    5.94 +				277905290DE9E5BC00C6D295 /* CopyFiles */,
    5.95 +			);
    5.96 +			buildRules = (
    5.97 +			);
    5.98 +			dependencies = (
    5.99 +			);
   5.100 +			name = "BLIP Echo Server";
   5.101 +			productInstallPath = "$(HOME)/bin";
   5.102 +			productName = MYNetwork;
   5.103 +			productReference = 2779052D0DE9E5BC00C6D295 /* BLIPEchoServer */;
   5.104 +			productType = "com.apple.product-type.tool";
   5.105 +		};
   5.106  		8DD76F960486AA7600D96B5E /* MYNetwork */ = {
   5.107  			isa = PBXNativeTarget;
   5.108  			buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "MYNetwork" */;
   5.109 @@ -328,6 +391,7 @@
   5.110  			targets = (
   5.111  				8DD76F960486AA7600D96B5E /* MYNetwork */,
   5.112  				277904250DE91C7900C6D295 /* BLIP Echo Client */,
   5.113 +				2779050F0DE9E5BC00C6D295 /* BLIP Echo Server */,
   5.114  			);
   5.115  		};
   5.116  /* End PBXProject section */
   5.117 @@ -370,6 +434,33 @@
   5.118  			);
   5.119  			runOnlyForDeploymentPostprocessing = 0;
   5.120  		};
   5.121 +		277905100DE9E5BC00C6D295 /* Sources */ = {
   5.122 +			isa = PBXSourcesBuildPhase;
   5.123 +			buildActionMask = 2147483647;
   5.124 +			files = (
   5.125 +				277905110DE9E5BC00C6D295 /* BLIPConnection.m in Sources */,
   5.126 +				277905120DE9E5BC00C6D295 /* BLIPDispatcher.m in Sources */,
   5.127 +				277905130DE9E5BC00C6D295 /* BLIPMessage.m in Sources */,
   5.128 +				277905140DE9E5BC00C6D295 /* BLIPProperties.m in Sources */,
   5.129 +				277905150DE9E5BC00C6D295 /* BLIPReader.m in Sources */,
   5.130 +				277905160DE9E5BC00C6D295 /* BLIPWriter.m in Sources */,
   5.131 +				277905170DE9E5BC00C6D295 /* IPAddress.m in Sources */,
   5.132 +				277905180DE9E5BC00C6D295 /* TCPConnection.m in Sources */,
   5.133 +				277905190DE9E5BC00C6D295 /* TCPEndpoint.m in Sources */,
   5.134 +				2779051A0DE9E5BC00C6D295 /* TCPListener.m in Sources */,
   5.135 +				2779051B0DE9E5BC00C6D295 /* TCPStream.m in Sources */,
   5.136 +				2779051C0DE9E5BC00C6D295 /* TCPWriter.m in Sources */,
   5.137 +				2779051D0DE9E5BC00C6D295 /* Test.m in Sources */,
   5.138 +				2779051E0DE9E5BC00C6D295 /* Logging.m in Sources */,
   5.139 +				2779051F0DE9E5BC00C6D295 /* ExceptionUtils.m in Sources */,
   5.140 +				277905200DE9E5BC00C6D295 /* Target.m in Sources */,
   5.141 +				277905210DE9E5BC00C6D295 /* GTMNSData+zlib.m in Sources */,
   5.142 +				277905220DE9E5BC00C6D295 /* CollectionUtils.m in Sources */,
   5.143 +				277905230DE9E5BC00C6D295 /* BLIPRequest.m in Sources */,
   5.144 +				277905240DE9E5BC00C6D295 /* BLIPEchoServer.m in Sources */,
   5.145 +			);
   5.146 +			runOnlyForDeploymentPostprocessing = 0;
   5.147 +		};
   5.148  		8DD76F990486AA7600D96B5E /* Sources */ = {
   5.149  			isa = PBXSourcesBuildPhase;
   5.150  			buildActionMask = 2147483647;
   5.151 @@ -393,7 +484,8 @@
   5.152  				270461700DE492F3003D9D3F /* GTMNSData+zlib.m in Sources */,
   5.153  				270461890DE49634003D9D3F /* CollectionUtils.m in Sources */,
   5.154  				27D5EC070DE5FEDE00CD84FA /* BLIPRequest.m in Sources */,
   5.155 -				2779046D0DE91F4200C6D295 /* BLIPEchoServer.m in Sources */,
   5.156 +				277905300DE9ED9100C6D295 /* MYUtilitiesTest_main.m in Sources */,
   5.157 +				2779053B0DE9EDAA00C6D295 /* BLIPTest.m in Sources */,
   5.158  			);
   5.159  			runOnlyForDeploymentPostprocessing = 0;
   5.160  		};
   5.161 @@ -509,6 +601,38 @@
   5.162  			};
   5.163  			name = Release;
   5.164  		};
   5.165 +		2779052B0DE9E5BC00C6D295 /* Debug */ = {
   5.166 +			isa = XCBuildConfiguration;
   5.167 +			buildSettings = {
   5.168 +				ALWAYS_SEARCH_USER_PATHS = NO;
   5.169 +				COPY_PHASE_STRIP = NO;
   5.170 +				GCC_C_LANGUAGE_STANDARD = gnu99;
   5.171 +				GCC_DYNAMIC_NO_PIC = NO;
   5.172 +				GCC_ENABLE_FIX_AND_CONTINUE = YES;
   5.173 +				GCC_MODEL_TUNING = G5;
   5.174 +				GCC_OPTIMIZATION_LEVEL = 0;
   5.175 +				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   5.176 +				GCC_PREFIX_HEADER = ../MYUtilities/MYUtilities_Prefix.pch;
   5.177 +				GCC_PREPROCESSOR_DEFINITIONS = DEBUG;
   5.178 +				INSTALL_PATH = /usr/local/bin;
   5.179 +				PRODUCT_NAME = BLIPEchoServer;
   5.180 +			};
   5.181 +			name = Debug;
   5.182 +		};
   5.183 +		2779052C0DE9E5BC00C6D295 /* Release */ = {
   5.184 +			isa = XCBuildConfiguration;
   5.185 +			buildSettings = {
   5.186 +				ALWAYS_SEARCH_USER_PATHS = NO;
   5.187 +				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
   5.188 +				GCC_C_LANGUAGE_STANDARD = gnu99;
   5.189 +				GCC_MODEL_TUNING = G5;
   5.190 +				GCC_PRECOMPILE_PREFIX_HEADER = YES;
   5.191 +				GCC_PREFIX_HEADER = MYNetwork_Prefix.pch;
   5.192 +				INSTALL_PATH = /usr/local/bin;
   5.193 +				PRODUCT_NAME = BLIPEchoServer;
   5.194 +			};
   5.195 +			name = Release;
   5.196 +		};
   5.197  /* End XCBuildConfiguration section */
   5.198  
   5.199  /* Begin XCConfigurationList section */
   5.200 @@ -539,6 +663,15 @@
   5.201  			defaultConfigurationIsVisible = 0;
   5.202  			defaultConfigurationName = Release;
   5.203  		};
   5.204 +		2779052A0DE9E5BC00C6D295 /* Build configuration list for PBXNativeTarget "BLIP Echo Server" */ = {
   5.205 +			isa = XCConfigurationList;
   5.206 +			buildConfigurations = (
   5.207 +				2779052B0DE9E5BC00C6D295 /* Debug */,
   5.208 +				2779052C0DE9E5BC00C6D295 /* Release */,
   5.209 +			);
   5.210 +			defaultConfigurationIsVisible = 0;
   5.211 +			defaultConfigurationName = Release;
   5.212 +		};
   5.213  /* End XCConfigurationList section */
   5.214  	};
   5.215  	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
     6.1 --- a/maindocs.h	Sun May 25 10:28:26 2008 -0700
     6.2 +++ b/maindocs.h	Sun May 25 12:32:47 2008 -0700
     6.3 @@ -8,7 +8,9 @@
     6.4  // This file just contains the Doxygen comments that generate the main (index.html) page content.
     6.5  
     6.6  
     6.7 -/*! \mainpage MYNetwork: Mooseyard Networking library, including BLIP protocol implementation. 
     6.8 +/*! \mainpage MYNetwork: Mooseyard Networking Library, With BLIP Protocol Implementation
     6.9 + 
    6.10 +    <center><b>By <a href="/Jens/">Jens Alfke</a></b></center>
    6.11   
    6.12  \section intro_sec Introduction
    6.13   
    6.14 @@ -18,12 +20,22 @@
    6.15      <li>Networking utility classes (presently only IPAddress);
    6.16      <li>A generic TCP client/server implementation,
    6.17          useful for implementing your own network protocols; (see TCPListener and TCPConnection)
    6.18 -    <li>An implementation of BLIP, a lightweight network protocol I've invented as an easy way
    6.19 +    <li>An implementation of <a href="#blipdesc">BLIP</a>, a lightweight network protocol I've invented as an easy way
    6.20          to send request and response messages between peers. (see BLIPListener, BLIPConnection, BLIPRequest, etc.)
    6.21      </ul>
    6.22   
    6.23 -    MYNetwork is released under a BSD license, which means you can freely use it in open-source
    6.24 -    or commercial projects, provided you give credit in your documentation or About box.
    6.25 +\section license License and Disclaimer
    6.26 + 
    6.27 + MYNetwork is released under a BSD license, which means you can freely use it in open-source
    6.28 + or commercial projects, provided you give credit in your documentation or About box.
    6.29 + 
    6.30 + As I write this (May 2008), MYNetwork is still very much under development. I am using it as the foundation of my own commercial products, at least one of which is currently at about the alpha stage. I'm making changes to this code as I see fit, fairly often.
    6.31 + 
    6.32 +That's good, in that the code is getting real-world use. But it also means that APIs and functionality are subject to change. (Of course, the entire revision tree is always available, so you're free to stick with any revision you like, and even "cherry-pick" desired changes from future ones.)
    6.33 + 
    6.34 +Not all of this code gets thoroughly exercised by my test cases or my applications, so some things may not work. Obviously, this code comes with no warranty nor any guarantee of tech support, though I will try to do my best to help out. Hopefully the source code is clear enough to let you figure out what's going on.
    6.35 + 
    6.36 +If you come across bugs, please tell me about them. If you fix them, I would love to get your fixes and incorporate them. If you add features I would love to know about them, and I will incorporate them if I think they make sense for the project. Thanks!
    6.37  
    6.38  \section blipdesc What's BLIP?
    6.39   
    6.40 @@ -31,7 +43,7 @@
    6.41   
    6.42  BLIP was inspired by <a
    6.43  href="http://beepcore.org">BEEP</a> (in fact BLIP stands for "BEEP-LIke Protocol") but is
    6.44 -deliberately simpler and somewhat more limited. That translates to a smaller and cleaner implemenation, especially since it takes advantage of Cocoa's and CFNetwork's existing support for network streams, SSL and Bonjour.
    6.45 +deliberately simpler and somewhat more limited. That results in a smaller and cleaner implementation, especially since it takes advantage of Cocoa's and CFNetwork's existing support for network streams, SSL and Bonjour. (BLIP is currently a bit under 2,000 lines of code, and the rest of the MYNetwork classes it builds on add up to another 1,500. That's at least an order of magnitude smaller than existing native-code BEEP libraries.)
    6.46   
    6.47  \subsection blipfeatures BLIP Features:
    6.48