[super dealloc];
}
--(void) setDelegate:(id <ITByteStreamDelegate>)d
+-setDelegate:(id <DataReciever>)d
{
+ id old = delegate;
[delegate release];
delegate = [d retain];
+ return old;
+}
+
+-delegate
+{
+ return delegate;
}
-(int) availableDataLength
-(NSData*) readDataOfLength:(int)length
{
- NSData *ret, *tmp;
+ NSData *ret;
NSRange range = {0, length};
[lock lock];
ret = [data subdataWithRange:range];
-#if MAC_OS_X_VERSION_10_2 <= MAC_OS_X_VERSION_MAX_ALLOWED
[data replaceBytesInRange:range withBytes:nil length:0];
-#else
- range = {length, [data length]};
- tmp = [data subdataWithRange:range];
- [data setData:tmp];
-#endif
[lock unlock];
return ret;
}
[delegate newDataAdded:self];
}
--(void) writeBytes:(char *)b len:(long)length
+-(void) writeBytes:(in char *)b len:(long)length
{
[lock lock];
[data appendBytes:b length:length];
[lock unlock];
[delegate newDataAdded:self];
}
+
+-(void) lockStream
+{
+ [lock lock];
+}
+
+-(void) unlockStream
+{
+ [lock unlock];
+}
+
+-(void) shortenData:(long)length
+{
+ NSRange range = {0, length};
+ [data replaceBytesInRange:range withBytes:nil length:0];
+}
@end