NSTimer * fTimer;
}
-- (id) initForPort: (int) portNumber withDelegate: (id) delegate;
+- (id) initForPort: (int) portNumber delay: (BOOL) delay withDelegate: (id) delegate;
- (void) cancelProbe;
- (void) callBackWithStatus: (port_status_t) status;
@implementation PortChecker
-- (id) initForPort: (int) portNumber withDelegate: (id) delegate
+- (id) initForPort: (int) portNumber delay: (BOOL) delay withDelegate: (id) delegate
{
if ((self = [super init]))
{
fPortNumber = portNumber;
fStatus = PORT_STATUS_CHECKING;
- fTimer = [NSTimer scheduledTimerWithTimeInterval: CHECK_FIRE target: self selector: @selector(startProbe)
- userInfo: nil repeats: NO];
+ fTimer = [NSTimer scheduledTimerWithTimeInterval: (delay ? CHECK_FIRE : 0.1) target: self
+ selector: @selector(startProbe) userInfo: nil repeats: NO];
}
return self;
[fPortChecker cancelProbe];
[fPortChecker release];
}
- fPortChecker = [[PortChecker alloc] initForPort: fPeerPort withDelegate: self];
+ fPortChecker = [[PortChecker alloc] initForPort: fPeerPort
+ delay: tr_sessionIsPortForwardingEnabled(fHandle) withDelegate: self];
}
}